diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml new file mode 100644 index 0000000..c9259ad --- /dev/null +++ b/casic-web/src/main/build/package.xml @@ -0,0 +1,43 @@ + + + package + + zip + tar.gz + + true + + + + true + true + lib + runtime + + + + + src/main/build/bin + + start.bat + start.sh + + true + 0744 + / + + + src/main/resources/config + true + + *.yml + /*/* + + /config + + + src/main/resources/i18n + / + + + \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml new file mode 100644 index 0000000..c9259ad --- /dev/null +++ b/casic-web/src/main/build/package.xml @@ -0,0 +1,43 @@ + + + package + + zip + tar.gz + + true + + + + true + true + lib + runtime + + + + + src/main/build/bin + + start.bat + start.sh + + true + 0744 + / + + + src/main/resources/config + true + + *.yml + /*/* + + /config + + + src/main/resources/i18n + / + + + \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java new file mode 100644 index 0000000..739eb99 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -0,0 +1,28 @@ +package com.casic.missiles; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * SpringBoot方式启动类 + * + * @author lwh + * @Date 2021/06/06 12:06 + */ +@SpringBootApplication +@EnableCaching +@EnableTransactionManagement(proxyTargetClass = true) +@EnableAsync +@Slf4j +public class CasicApplication { + public static void main(String[] args) { + SpringApplication.run(CasicApplication.class, args); + log.info("CasicApplication is success!"); + } + +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml new file mode 100644 index 0000000..c9259ad --- /dev/null +++ b/casic-web/src/main/build/package.xml @@ -0,0 +1,43 @@ + + + package + + zip + tar.gz + + true + + + + true + true + lib + runtime + + + + + src/main/build/bin + + start.bat + start.sh + + true + 0744 + / + + + src/main/resources/config + true + + *.yml + /*/* + + /config + + + src/main/resources/i18n + / + + + \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java new file mode 100644 index 0000000..739eb99 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -0,0 +1,28 @@ +package com.casic.missiles; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * SpringBoot方式启动类 + * + * @author lwh + * @Date 2021/06/06 12:06 + */ +@SpringBootApplication +@EnableCaching +@EnableTransactionManagement(proxyTargetClass = true) +@EnableAsync +@Slf4j +public class CasicApplication { + public static void main(String[] args) { + SpringApplication.run(CasicApplication.class, args); + log.info("CasicApplication is success!"); + } + +} diff --git a/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java new file mode 100644 index 0000000..e30585b --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java @@ -0,0 +1,18 @@ +package com.casic.missiles; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +/** + * Guns Web程序启动类 + * + * @author fengshuonan + * @date 2017-05-21 9:43 + */ +public class CasicServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(CasicApplication.class); + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml new file mode 100644 index 0000000..c9259ad --- /dev/null +++ b/casic-web/src/main/build/package.xml @@ -0,0 +1,43 @@ + + + package + + zip + tar.gz + + true + + + + true + true + lib + runtime + + + + + src/main/build/bin + + start.bat + start.sh + + true + 0744 + / + + + src/main/resources/config + true + + *.yml + /*/* + + /config + + + src/main/resources/i18n + / + + + \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java new file mode 100644 index 0000000..739eb99 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -0,0 +1,28 @@ +package com.casic.missiles; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * SpringBoot方式启动类 + * + * @author lwh + * @Date 2021/06/06 12:06 + */ +@SpringBootApplication +@EnableCaching +@EnableTransactionManagement(proxyTargetClass = true) +@EnableAsync +@Slf4j +public class CasicApplication { + public static void main(String[] args) { + SpringApplication.run(CasicApplication.class, args); + log.info("CasicApplication is success!"); + } + +} diff --git a/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java new file mode 100644 index 0000000..e30585b --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java @@ -0,0 +1,18 @@ +package com.casic.missiles; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +/** + * Guns Web程序启动类 + * + * @author fengshuonan + * @date 2017-05-21 9:43 + */ +public class CasicServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(CasicApplication.class); + } +} diff --git a/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java new file mode 100644 index 0000000..4f4ec87 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java @@ -0,0 +1,143 @@ +package com.casic.missiles.config; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.serializer.SerializeConfig; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.serializer.ToStringSerializer; +import com.alibaba.fastjson.serializer.ValueFilter; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import com.casic.missiles.config.properties.CasicProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.LocaleResolver; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; +import org.springframework.web.servlet.i18n.CookieLocaleResolver; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; + + +@ServletComponentScan(basePackageClasses = {DefaultFastjsonConfig.class}) +@ConditionalOnClass(com.alibaba.fastjson.JSON.class) +@ConditionalOnMissingBean(FastJsonHttpMessageConverter.class) +@Configuration +class WebMvcConfig extends WebMvcConfigurationSupport { + @Value("${spring.messages.locale:SIMPLIFIED_CHINESE}") + private String locale; + + public WebMvcConfig() { + } + + @Autowired + private CasicProperties casicProperties; + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + //Spring Boot自动配置自己不会自动把/swagger-ui.html这个路径映射到对应的目录META-INF/resources/下面 + registry.addResourceHandler("swagger-ui.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations( + "classpath:/META-INF/resources/webjars/"); + registry.addResourceHandler("doc.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/favicon.ico").addResourceLocations( + "classpath:/META-INF/resources/"); + if (StrUtil.isNotEmpty(casicProperties.getFile().getUploadPath())) { + registry.addResourceHandler("/static/**").addResourceLocations("file:" + casicProperties.getFile().getUploadPath()); + } + super.addResourceHandlers(registry); + } + + @Override + public LocaleResolver localeResolver() { + CookieLocaleResolver slr = new CookieLocaleResolver(); + //设置默认区域,Locale.SIMPLIFIED_CHINESE + switch (locale) { + case "US": + slr.setDefaultLocale(Locale.US); + break; + default: + slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE); + } + //设置cookie有效期. + slr.setCookieMaxAge(3600); + return slr; + } + + @Override + public void configureMessageConverters(List> converters) { + Iterator> iterator = converters.iterator(); + //先把JackSon的消息转换器删除. 在SpringBoot2.X时代,必须要排除JackSon消息转换器。 + while (iterator.hasNext()) { + HttpMessageConverter converter = iterator.next(); + if (converter instanceof MappingJackson2HttpMessageConverter) { + iterator.remove(); + } + } + FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); + converter.setFastJsonConfig(fastjsonConfig()); + converter.setSupportedMediaTypes(getSupportedMediaType()); + converters.add(converter); + } + + /** + * fastjson的配置 + */ + public FastJsonConfig fastjsonConfig() { + FastJsonConfig fastJsonConfig = new FastJsonConfig(); + fastJsonConfig.setSerializerFeatures( + SerializerFeature.PrettyFormat, + SerializerFeature.WriteMapNullValue, + SerializerFeature.WriteEnumUsingToString + ); + //修改,设置全局时间为精确到天,页面列表显示不带时分秒 + fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); +// fastJsonConfig.setDateFormat("yyyy-MM-dd"); + ValueFilter valueFilter = new ValueFilter() { + @Override + public Object process(Object o, String s, Object o1) { + if (null == o1) { + o1 = ""; + } + return o1; + } + }; + fastJsonConfig.setCharset(Charset.forName("utf-8")); + fastJsonConfig.setSerializeFilters(valueFilter); + + //解决Long转json精度丢失的问题 + SerializeConfig serializeConfig = SerializeConfig.globalInstance; + serializeConfig.put(BigInteger.class, ToStringSerializer.instance); + serializeConfig.put(Long.class, ToStringSerializer.instance); + serializeConfig.put(BigDecimal.class, ToStringSerializer.instance); +// serializeConfig.put(Long.TYPE, ToStringSerializer.instance); + fastJsonConfig.setSerializeConfig(serializeConfig); + return fastJsonConfig; + } + + /** + * 支持的mediaType类型 + */ + public List getSupportedMediaType() { + ArrayList mediaTypes = new ArrayList<>(); + mediaTypes.add(MediaType.APPLICATION_JSON_UTF8); + + return mediaTypes; + } + +} + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml new file mode 100644 index 0000000..c9259ad --- /dev/null +++ b/casic-web/src/main/build/package.xml @@ -0,0 +1,43 @@ + + + package + + zip + tar.gz + + true + + + + true + true + lib + runtime + + + + + src/main/build/bin + + start.bat + start.sh + + true + 0744 + / + + + src/main/resources/config + true + + *.yml + /*/* + + /config + + + src/main/resources/i18n + / + + + \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java new file mode 100644 index 0000000..739eb99 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -0,0 +1,28 @@ +package com.casic.missiles; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * SpringBoot方式启动类 + * + * @author lwh + * @Date 2021/06/06 12:06 + */ +@SpringBootApplication +@EnableCaching +@EnableTransactionManagement(proxyTargetClass = true) +@EnableAsync +@Slf4j +public class CasicApplication { + public static void main(String[] args) { + SpringApplication.run(CasicApplication.class, args); + log.info("CasicApplication is success!"); + } + +} diff --git a/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java new file mode 100644 index 0000000..e30585b --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java @@ -0,0 +1,18 @@ +package com.casic.missiles; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +/** + * Guns Web程序启动类 + * + * @author fengshuonan + * @date 2017-05-21 9:43 + */ +public class CasicServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(CasicApplication.class); + } +} diff --git a/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java new file mode 100644 index 0000000..4f4ec87 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java @@ -0,0 +1,143 @@ +package com.casic.missiles.config; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.serializer.SerializeConfig; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.serializer.ToStringSerializer; +import com.alibaba.fastjson.serializer.ValueFilter; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import com.casic.missiles.config.properties.CasicProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.LocaleResolver; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; +import org.springframework.web.servlet.i18n.CookieLocaleResolver; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; + + +@ServletComponentScan(basePackageClasses = {DefaultFastjsonConfig.class}) +@ConditionalOnClass(com.alibaba.fastjson.JSON.class) +@ConditionalOnMissingBean(FastJsonHttpMessageConverter.class) +@Configuration +class WebMvcConfig extends WebMvcConfigurationSupport { + @Value("${spring.messages.locale:SIMPLIFIED_CHINESE}") + private String locale; + + public WebMvcConfig() { + } + + @Autowired + private CasicProperties casicProperties; + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + //Spring Boot自动配置自己不会自动把/swagger-ui.html这个路径映射到对应的目录META-INF/resources/下面 + registry.addResourceHandler("swagger-ui.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations( + "classpath:/META-INF/resources/webjars/"); + registry.addResourceHandler("doc.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/favicon.ico").addResourceLocations( + "classpath:/META-INF/resources/"); + if (StrUtil.isNotEmpty(casicProperties.getFile().getUploadPath())) { + registry.addResourceHandler("/static/**").addResourceLocations("file:" + casicProperties.getFile().getUploadPath()); + } + super.addResourceHandlers(registry); + } + + @Override + public LocaleResolver localeResolver() { + CookieLocaleResolver slr = new CookieLocaleResolver(); + //设置默认区域,Locale.SIMPLIFIED_CHINESE + switch (locale) { + case "US": + slr.setDefaultLocale(Locale.US); + break; + default: + slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE); + } + //设置cookie有效期. + slr.setCookieMaxAge(3600); + return slr; + } + + @Override + public void configureMessageConverters(List> converters) { + Iterator> iterator = converters.iterator(); + //先把JackSon的消息转换器删除. 在SpringBoot2.X时代,必须要排除JackSon消息转换器。 + while (iterator.hasNext()) { + HttpMessageConverter converter = iterator.next(); + if (converter instanceof MappingJackson2HttpMessageConverter) { + iterator.remove(); + } + } + FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); + converter.setFastJsonConfig(fastjsonConfig()); + converter.setSupportedMediaTypes(getSupportedMediaType()); + converters.add(converter); + } + + /** + * fastjson的配置 + */ + public FastJsonConfig fastjsonConfig() { + FastJsonConfig fastJsonConfig = new FastJsonConfig(); + fastJsonConfig.setSerializerFeatures( + SerializerFeature.PrettyFormat, + SerializerFeature.WriteMapNullValue, + SerializerFeature.WriteEnumUsingToString + ); + //修改,设置全局时间为精确到天,页面列表显示不带时分秒 + fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); +// fastJsonConfig.setDateFormat("yyyy-MM-dd"); + ValueFilter valueFilter = new ValueFilter() { + @Override + public Object process(Object o, String s, Object o1) { + if (null == o1) { + o1 = ""; + } + return o1; + } + }; + fastJsonConfig.setCharset(Charset.forName("utf-8")); + fastJsonConfig.setSerializeFilters(valueFilter); + + //解决Long转json精度丢失的问题 + SerializeConfig serializeConfig = SerializeConfig.globalInstance; + serializeConfig.put(BigInteger.class, ToStringSerializer.instance); + serializeConfig.put(Long.class, ToStringSerializer.instance); + serializeConfig.put(BigDecimal.class, ToStringSerializer.instance); +// serializeConfig.put(Long.TYPE, ToStringSerializer.instance); + fastJsonConfig.setSerializeConfig(serializeConfig); + return fastJsonConfig; + } + + /** + * 支持的mediaType类型 + */ + public List getSupportedMediaType() { + ArrayList mediaTypes = new ArrayList<>(); + mediaTypes.add(MediaType.APPLICATION_JSON_UTF8); + + return mediaTypes; + } + +} + diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java new file mode 100644 index 0000000..eae6c54 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -0,0 +1,82 @@ +package com.casic.missiles.controller; + +import cn.hutool.core.util.StrUtil; +import com.casic.missiles.core.application.enums.LoginType; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.model.auth.CasicCustomToken; +import com.casic.missiles.core.shiro.ShiroKit; +import com.casic.missiles.core.util.RSAUtils; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.domain.constants.PermissionConstants; +import com.casic.missiles.modular.interfaces.log.LogManager; +import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; +import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.subject.Subject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.security.NoSuchAlgorithmException; +import java.util.Map; + +import static com.casic.missiles.core.util.HttpContext.getIp; + + +/** + * 仅为mock登录使用 + * + * @author lenovo + */ +@Controller +@RequestMapping("/route") +@Slf4j +public class MockController extends BaseController { + + /** + * 获取mockToken + */ + @GetMapping("/mockToken") + @ResponseBody + public Object mockToken(String username, String password) { + super.getSession().setAttribute(PermissionConstants.IS_APP, false); + SuccessResponseData resultData = new SuccessResponseData(); + if (StrUtil.hasEmpty(username, password)) { + username = "admin"; + password = "111111"; + } + Subject currentUser = ShiroKit.getSubject(); + + try { + Map key = RSAUtils.genKeyPair(); + ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey)); + + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + + //token自定义 + CasicCustomToken token = new CasicCustomToken(username, password); + token.setType(LoginType.PASSWORD); + token.setRememberMe(false); + + try { + currentUser.login(token); + } catch (Exception e) { + e.printStackTrace(); + } + AuthUser shiroUser = ShiroKit.getUser(); + super.getSession().setAttribute("shiroUser", shiroUser); + super.getSession().setAttribute("username", shiroUser.getAccount()); + super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId()); + + LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp())); + + ShiroKit.getSession().setAttribute("sessionFlag", true); + resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null)); + resultData.setMessage("登录成功"); + return resultData; + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml new file mode 100644 index 0000000..c9259ad --- /dev/null +++ b/casic-web/src/main/build/package.xml @@ -0,0 +1,43 @@ + + + package + + zip + tar.gz + + true + + + + true + true + lib + runtime + + + + + src/main/build/bin + + start.bat + start.sh + + true + 0744 + / + + + src/main/resources/config + true + + *.yml + /*/* + + /config + + + src/main/resources/i18n + / + + + \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java new file mode 100644 index 0000000..739eb99 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -0,0 +1,28 @@ +package com.casic.missiles; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * SpringBoot方式启动类 + * + * @author lwh + * @Date 2021/06/06 12:06 + */ +@SpringBootApplication +@EnableCaching +@EnableTransactionManagement(proxyTargetClass = true) +@EnableAsync +@Slf4j +public class CasicApplication { + public static void main(String[] args) { + SpringApplication.run(CasicApplication.class, args); + log.info("CasicApplication is success!"); + } + +} diff --git a/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java new file mode 100644 index 0000000..e30585b --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java @@ -0,0 +1,18 @@ +package com.casic.missiles; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +/** + * Guns Web程序启动类 + * + * @author fengshuonan + * @date 2017-05-21 9:43 + */ +public class CasicServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(CasicApplication.class); + } +} diff --git a/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java new file mode 100644 index 0000000..4f4ec87 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java @@ -0,0 +1,143 @@ +package com.casic.missiles.config; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.serializer.SerializeConfig; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.serializer.ToStringSerializer; +import com.alibaba.fastjson.serializer.ValueFilter; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import com.casic.missiles.config.properties.CasicProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.LocaleResolver; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; +import org.springframework.web.servlet.i18n.CookieLocaleResolver; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; + + +@ServletComponentScan(basePackageClasses = {DefaultFastjsonConfig.class}) +@ConditionalOnClass(com.alibaba.fastjson.JSON.class) +@ConditionalOnMissingBean(FastJsonHttpMessageConverter.class) +@Configuration +class WebMvcConfig extends WebMvcConfigurationSupport { + @Value("${spring.messages.locale:SIMPLIFIED_CHINESE}") + private String locale; + + public WebMvcConfig() { + } + + @Autowired + private CasicProperties casicProperties; + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + //Spring Boot自动配置自己不会自动把/swagger-ui.html这个路径映射到对应的目录META-INF/resources/下面 + registry.addResourceHandler("swagger-ui.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations( + "classpath:/META-INF/resources/webjars/"); + registry.addResourceHandler("doc.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/favicon.ico").addResourceLocations( + "classpath:/META-INF/resources/"); + if (StrUtil.isNotEmpty(casicProperties.getFile().getUploadPath())) { + registry.addResourceHandler("/static/**").addResourceLocations("file:" + casicProperties.getFile().getUploadPath()); + } + super.addResourceHandlers(registry); + } + + @Override + public LocaleResolver localeResolver() { + CookieLocaleResolver slr = new CookieLocaleResolver(); + //设置默认区域,Locale.SIMPLIFIED_CHINESE + switch (locale) { + case "US": + slr.setDefaultLocale(Locale.US); + break; + default: + slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE); + } + //设置cookie有效期. + slr.setCookieMaxAge(3600); + return slr; + } + + @Override + public void configureMessageConverters(List> converters) { + Iterator> iterator = converters.iterator(); + //先把JackSon的消息转换器删除. 在SpringBoot2.X时代,必须要排除JackSon消息转换器。 + while (iterator.hasNext()) { + HttpMessageConverter converter = iterator.next(); + if (converter instanceof MappingJackson2HttpMessageConverter) { + iterator.remove(); + } + } + FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); + converter.setFastJsonConfig(fastjsonConfig()); + converter.setSupportedMediaTypes(getSupportedMediaType()); + converters.add(converter); + } + + /** + * fastjson的配置 + */ + public FastJsonConfig fastjsonConfig() { + FastJsonConfig fastJsonConfig = new FastJsonConfig(); + fastJsonConfig.setSerializerFeatures( + SerializerFeature.PrettyFormat, + SerializerFeature.WriteMapNullValue, + SerializerFeature.WriteEnumUsingToString + ); + //修改,设置全局时间为精确到天,页面列表显示不带时分秒 + fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); +// fastJsonConfig.setDateFormat("yyyy-MM-dd"); + ValueFilter valueFilter = new ValueFilter() { + @Override + public Object process(Object o, String s, Object o1) { + if (null == o1) { + o1 = ""; + } + return o1; + } + }; + fastJsonConfig.setCharset(Charset.forName("utf-8")); + fastJsonConfig.setSerializeFilters(valueFilter); + + //解决Long转json精度丢失的问题 + SerializeConfig serializeConfig = SerializeConfig.globalInstance; + serializeConfig.put(BigInteger.class, ToStringSerializer.instance); + serializeConfig.put(Long.class, ToStringSerializer.instance); + serializeConfig.put(BigDecimal.class, ToStringSerializer.instance); +// serializeConfig.put(Long.TYPE, ToStringSerializer.instance); + fastJsonConfig.setSerializeConfig(serializeConfig); + return fastJsonConfig; + } + + /** + * 支持的mediaType类型 + */ + public List getSupportedMediaType() { + ArrayList mediaTypes = new ArrayList<>(); + mediaTypes.add(MediaType.APPLICATION_JSON_UTF8); + + return mediaTypes; + } + +} + diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java new file mode 100644 index 0000000..eae6c54 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -0,0 +1,82 @@ +package com.casic.missiles.controller; + +import cn.hutool.core.util.StrUtil; +import com.casic.missiles.core.application.enums.LoginType; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.model.auth.CasicCustomToken; +import com.casic.missiles.core.shiro.ShiroKit; +import com.casic.missiles.core.util.RSAUtils; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.domain.constants.PermissionConstants; +import com.casic.missiles.modular.interfaces.log.LogManager; +import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; +import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.subject.Subject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.security.NoSuchAlgorithmException; +import java.util.Map; + +import static com.casic.missiles.core.util.HttpContext.getIp; + + +/** + * 仅为mock登录使用 + * + * @author lenovo + */ +@Controller +@RequestMapping("/route") +@Slf4j +public class MockController extends BaseController { + + /** + * 获取mockToken + */ + @GetMapping("/mockToken") + @ResponseBody + public Object mockToken(String username, String password) { + super.getSession().setAttribute(PermissionConstants.IS_APP, false); + SuccessResponseData resultData = new SuccessResponseData(); + if (StrUtil.hasEmpty(username, password)) { + username = "admin"; + password = "111111"; + } + Subject currentUser = ShiroKit.getSubject(); + + try { + Map key = RSAUtils.genKeyPair(); + ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey)); + + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + + //token自定义 + CasicCustomToken token = new CasicCustomToken(username, password); + token.setType(LoginType.PASSWORD); + token.setRememberMe(false); + + try { + currentUser.login(token); + } catch (Exception e) { + e.printStackTrace(); + } + AuthUser shiroUser = ShiroKit.getUser(); + super.getSession().setAttribute("shiroUser", shiroUser); + super.getSession().setAttribute("username", shiroUser.getAccount()); + super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId()); + + LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp())); + + ShiroKit.getSession().setAttribute("sessionFlag", true); + resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null)); + resultData.setMessage("登录成功"); + return resultData; + } +} diff --git a/casic-web/src/main/resources/META-INF/spring-devtools.properties b/casic-web/src/main/resources/META-INF/spring-devtools.properties new file mode 100644 index 0000000..e3b0a7f --- /dev/null +++ b/casic-web/src/main/resources/META-INF/spring-devtools.properties @@ -0,0 +1 @@ +restart.include.beetl=/beetl-2.7.15.jar \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml new file mode 100644 index 0000000..c9259ad --- /dev/null +++ b/casic-web/src/main/build/package.xml @@ -0,0 +1,43 @@ + + + package + + zip + tar.gz + + true + + + + true + true + lib + runtime + + + + + src/main/build/bin + + start.bat + start.sh + + true + 0744 + / + + + src/main/resources/config + true + + *.yml + /*/* + + /config + + + src/main/resources/i18n + / + + + \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java new file mode 100644 index 0000000..739eb99 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -0,0 +1,28 @@ +package com.casic.missiles; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * SpringBoot方式启动类 + * + * @author lwh + * @Date 2021/06/06 12:06 + */ +@SpringBootApplication +@EnableCaching +@EnableTransactionManagement(proxyTargetClass = true) +@EnableAsync +@Slf4j +public class CasicApplication { + public static void main(String[] args) { + SpringApplication.run(CasicApplication.class, args); + log.info("CasicApplication is success!"); + } + +} diff --git a/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java new file mode 100644 index 0000000..e30585b --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java @@ -0,0 +1,18 @@ +package com.casic.missiles; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +/** + * Guns Web程序启动类 + * + * @author fengshuonan + * @date 2017-05-21 9:43 + */ +public class CasicServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(CasicApplication.class); + } +} diff --git a/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java new file mode 100644 index 0000000..4f4ec87 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java @@ -0,0 +1,143 @@ +package com.casic.missiles.config; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.serializer.SerializeConfig; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.serializer.ToStringSerializer; +import com.alibaba.fastjson.serializer.ValueFilter; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import com.casic.missiles.config.properties.CasicProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.LocaleResolver; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; +import org.springframework.web.servlet.i18n.CookieLocaleResolver; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; + + +@ServletComponentScan(basePackageClasses = {DefaultFastjsonConfig.class}) +@ConditionalOnClass(com.alibaba.fastjson.JSON.class) +@ConditionalOnMissingBean(FastJsonHttpMessageConverter.class) +@Configuration +class WebMvcConfig extends WebMvcConfigurationSupport { + @Value("${spring.messages.locale:SIMPLIFIED_CHINESE}") + private String locale; + + public WebMvcConfig() { + } + + @Autowired + private CasicProperties casicProperties; + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + //Spring Boot自动配置自己不会自动把/swagger-ui.html这个路径映射到对应的目录META-INF/resources/下面 + registry.addResourceHandler("swagger-ui.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations( + "classpath:/META-INF/resources/webjars/"); + registry.addResourceHandler("doc.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/favicon.ico").addResourceLocations( + "classpath:/META-INF/resources/"); + if (StrUtil.isNotEmpty(casicProperties.getFile().getUploadPath())) { + registry.addResourceHandler("/static/**").addResourceLocations("file:" + casicProperties.getFile().getUploadPath()); + } + super.addResourceHandlers(registry); + } + + @Override + public LocaleResolver localeResolver() { + CookieLocaleResolver slr = new CookieLocaleResolver(); + //设置默认区域,Locale.SIMPLIFIED_CHINESE + switch (locale) { + case "US": + slr.setDefaultLocale(Locale.US); + break; + default: + slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE); + } + //设置cookie有效期. + slr.setCookieMaxAge(3600); + return slr; + } + + @Override + public void configureMessageConverters(List> converters) { + Iterator> iterator = converters.iterator(); + //先把JackSon的消息转换器删除. 在SpringBoot2.X时代,必须要排除JackSon消息转换器。 + while (iterator.hasNext()) { + HttpMessageConverter converter = iterator.next(); + if (converter instanceof MappingJackson2HttpMessageConverter) { + iterator.remove(); + } + } + FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); + converter.setFastJsonConfig(fastjsonConfig()); + converter.setSupportedMediaTypes(getSupportedMediaType()); + converters.add(converter); + } + + /** + * fastjson的配置 + */ + public FastJsonConfig fastjsonConfig() { + FastJsonConfig fastJsonConfig = new FastJsonConfig(); + fastJsonConfig.setSerializerFeatures( + SerializerFeature.PrettyFormat, + SerializerFeature.WriteMapNullValue, + SerializerFeature.WriteEnumUsingToString + ); + //修改,设置全局时间为精确到天,页面列表显示不带时分秒 + fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); +// fastJsonConfig.setDateFormat("yyyy-MM-dd"); + ValueFilter valueFilter = new ValueFilter() { + @Override + public Object process(Object o, String s, Object o1) { + if (null == o1) { + o1 = ""; + } + return o1; + } + }; + fastJsonConfig.setCharset(Charset.forName("utf-8")); + fastJsonConfig.setSerializeFilters(valueFilter); + + //解决Long转json精度丢失的问题 + SerializeConfig serializeConfig = SerializeConfig.globalInstance; + serializeConfig.put(BigInteger.class, ToStringSerializer.instance); + serializeConfig.put(Long.class, ToStringSerializer.instance); + serializeConfig.put(BigDecimal.class, ToStringSerializer.instance); +// serializeConfig.put(Long.TYPE, ToStringSerializer.instance); + fastJsonConfig.setSerializeConfig(serializeConfig); + return fastJsonConfig; + } + + /** + * 支持的mediaType类型 + */ + public List getSupportedMediaType() { + ArrayList mediaTypes = new ArrayList<>(); + mediaTypes.add(MediaType.APPLICATION_JSON_UTF8); + + return mediaTypes; + } + +} + diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java new file mode 100644 index 0000000..eae6c54 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -0,0 +1,82 @@ +package com.casic.missiles.controller; + +import cn.hutool.core.util.StrUtil; +import com.casic.missiles.core.application.enums.LoginType; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.model.auth.CasicCustomToken; +import com.casic.missiles.core.shiro.ShiroKit; +import com.casic.missiles.core.util.RSAUtils; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.domain.constants.PermissionConstants; +import com.casic.missiles.modular.interfaces.log.LogManager; +import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; +import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.subject.Subject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.security.NoSuchAlgorithmException; +import java.util.Map; + +import static com.casic.missiles.core.util.HttpContext.getIp; + + +/** + * 仅为mock登录使用 + * + * @author lenovo + */ +@Controller +@RequestMapping("/route") +@Slf4j +public class MockController extends BaseController { + + /** + * 获取mockToken + */ + @GetMapping("/mockToken") + @ResponseBody + public Object mockToken(String username, String password) { + super.getSession().setAttribute(PermissionConstants.IS_APP, false); + SuccessResponseData resultData = new SuccessResponseData(); + if (StrUtil.hasEmpty(username, password)) { + username = "admin"; + password = "111111"; + } + Subject currentUser = ShiroKit.getSubject(); + + try { + Map key = RSAUtils.genKeyPair(); + ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey)); + + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + + //token自定义 + CasicCustomToken token = new CasicCustomToken(username, password); + token.setType(LoginType.PASSWORD); + token.setRememberMe(false); + + try { + currentUser.login(token); + } catch (Exception e) { + e.printStackTrace(); + } + AuthUser shiroUser = ShiroKit.getUser(); + super.getSession().setAttribute("shiroUser", shiroUser); + super.getSession().setAttribute("username", shiroUser.getAccount()); + super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId()); + + LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp())); + + ShiroKit.getSession().setAttribute("sessionFlag", true); + resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null)); + resultData.setMessage("登录成功"); + return resultData; + } +} diff --git a/casic-web/src/main/resources/META-INF/spring-devtools.properties b/casic-web/src/main/resources/META-INF/spring-devtools.properties new file mode 100644 index 0000000..e3b0a7f --- /dev/null +++ b/casic-web/src/main/resources/META-INF/spring-devtools.properties @@ -0,0 +1 @@ +restart.include.beetl=/beetl-2.7.15.jar \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml new file mode 100644 index 0000000..628fd13 --- /dev/null +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -0,0 +1,30 @@ +server: + port: 8083 +################### spring配置 ################### +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true&nullCatalogMeansCurrent=true + username: root + password: Casic203 +jms: + pub-sub-domain: true +# session: +# store-type: redis +# redis: +# host: 111.198.10.15 +# port: 11412 +# password: ew5T4K3#203lwh +# serializer: org.springframework.data.redis.serializer.StringRedisSerializer +# redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer +casic: + #kaptcha-open: false #是否开启登录时验证码 (true/false) + no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/v2/api-docs,/v2/api-docs-ext,/doc.html,/v2/api-docs/swagger-ui.html,/swagger-resources,/code/generator,/webjars/**,/alarm/getrecognitionRecords,/alarm/savePictures + #flowable数据源和多数据源配置 + db: + init: + enable: false +logging: + level.root: info + level.com.casic: debug + level.org.springframework.web: info \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml new file mode 100644 index 0000000..c9259ad --- /dev/null +++ b/casic-web/src/main/build/package.xml @@ -0,0 +1,43 @@ + + + package + + zip + tar.gz + + true + + + + true + true + lib + runtime + + + + + src/main/build/bin + + start.bat + start.sh + + true + 0744 + / + + + src/main/resources/config + true + + *.yml + /*/* + + /config + + + src/main/resources/i18n + / + + + \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java new file mode 100644 index 0000000..739eb99 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -0,0 +1,28 @@ +package com.casic.missiles; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * SpringBoot方式启动类 + * + * @author lwh + * @Date 2021/06/06 12:06 + */ +@SpringBootApplication +@EnableCaching +@EnableTransactionManagement(proxyTargetClass = true) +@EnableAsync +@Slf4j +public class CasicApplication { + public static void main(String[] args) { + SpringApplication.run(CasicApplication.class, args); + log.info("CasicApplication is success!"); + } + +} diff --git a/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java new file mode 100644 index 0000000..e30585b --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java @@ -0,0 +1,18 @@ +package com.casic.missiles; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +/** + * Guns Web程序启动类 + * + * @author fengshuonan + * @date 2017-05-21 9:43 + */ +public class CasicServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(CasicApplication.class); + } +} diff --git a/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java new file mode 100644 index 0000000..4f4ec87 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java @@ -0,0 +1,143 @@ +package com.casic.missiles.config; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.serializer.SerializeConfig; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.serializer.ToStringSerializer; +import com.alibaba.fastjson.serializer.ValueFilter; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import com.casic.missiles.config.properties.CasicProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.LocaleResolver; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; +import org.springframework.web.servlet.i18n.CookieLocaleResolver; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; + + +@ServletComponentScan(basePackageClasses = {DefaultFastjsonConfig.class}) +@ConditionalOnClass(com.alibaba.fastjson.JSON.class) +@ConditionalOnMissingBean(FastJsonHttpMessageConverter.class) +@Configuration +class WebMvcConfig extends WebMvcConfigurationSupport { + @Value("${spring.messages.locale:SIMPLIFIED_CHINESE}") + private String locale; + + public WebMvcConfig() { + } + + @Autowired + private CasicProperties casicProperties; + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + //Spring Boot自动配置自己不会自动把/swagger-ui.html这个路径映射到对应的目录META-INF/resources/下面 + registry.addResourceHandler("swagger-ui.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations( + "classpath:/META-INF/resources/webjars/"); + registry.addResourceHandler("doc.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/favicon.ico").addResourceLocations( + "classpath:/META-INF/resources/"); + if (StrUtil.isNotEmpty(casicProperties.getFile().getUploadPath())) { + registry.addResourceHandler("/static/**").addResourceLocations("file:" + casicProperties.getFile().getUploadPath()); + } + super.addResourceHandlers(registry); + } + + @Override + public LocaleResolver localeResolver() { + CookieLocaleResolver slr = new CookieLocaleResolver(); + //设置默认区域,Locale.SIMPLIFIED_CHINESE + switch (locale) { + case "US": + slr.setDefaultLocale(Locale.US); + break; + default: + slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE); + } + //设置cookie有效期. + slr.setCookieMaxAge(3600); + return slr; + } + + @Override + public void configureMessageConverters(List> converters) { + Iterator> iterator = converters.iterator(); + //先把JackSon的消息转换器删除. 在SpringBoot2.X时代,必须要排除JackSon消息转换器。 + while (iterator.hasNext()) { + HttpMessageConverter converter = iterator.next(); + if (converter instanceof MappingJackson2HttpMessageConverter) { + iterator.remove(); + } + } + FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); + converter.setFastJsonConfig(fastjsonConfig()); + converter.setSupportedMediaTypes(getSupportedMediaType()); + converters.add(converter); + } + + /** + * fastjson的配置 + */ + public FastJsonConfig fastjsonConfig() { + FastJsonConfig fastJsonConfig = new FastJsonConfig(); + fastJsonConfig.setSerializerFeatures( + SerializerFeature.PrettyFormat, + SerializerFeature.WriteMapNullValue, + SerializerFeature.WriteEnumUsingToString + ); + //修改,设置全局时间为精确到天,页面列表显示不带时分秒 + fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); +// fastJsonConfig.setDateFormat("yyyy-MM-dd"); + ValueFilter valueFilter = new ValueFilter() { + @Override + public Object process(Object o, String s, Object o1) { + if (null == o1) { + o1 = ""; + } + return o1; + } + }; + fastJsonConfig.setCharset(Charset.forName("utf-8")); + fastJsonConfig.setSerializeFilters(valueFilter); + + //解决Long转json精度丢失的问题 + SerializeConfig serializeConfig = SerializeConfig.globalInstance; + serializeConfig.put(BigInteger.class, ToStringSerializer.instance); + serializeConfig.put(Long.class, ToStringSerializer.instance); + serializeConfig.put(BigDecimal.class, ToStringSerializer.instance); +// serializeConfig.put(Long.TYPE, ToStringSerializer.instance); + fastJsonConfig.setSerializeConfig(serializeConfig); + return fastJsonConfig; + } + + /** + * 支持的mediaType类型 + */ + public List getSupportedMediaType() { + ArrayList mediaTypes = new ArrayList<>(); + mediaTypes.add(MediaType.APPLICATION_JSON_UTF8); + + return mediaTypes; + } + +} + diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java new file mode 100644 index 0000000..eae6c54 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -0,0 +1,82 @@ +package com.casic.missiles.controller; + +import cn.hutool.core.util.StrUtil; +import com.casic.missiles.core.application.enums.LoginType; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.model.auth.CasicCustomToken; +import com.casic.missiles.core.shiro.ShiroKit; +import com.casic.missiles.core.util.RSAUtils; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.domain.constants.PermissionConstants; +import com.casic.missiles.modular.interfaces.log.LogManager; +import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; +import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.subject.Subject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.security.NoSuchAlgorithmException; +import java.util.Map; + +import static com.casic.missiles.core.util.HttpContext.getIp; + + +/** + * 仅为mock登录使用 + * + * @author lenovo + */ +@Controller +@RequestMapping("/route") +@Slf4j +public class MockController extends BaseController { + + /** + * 获取mockToken + */ + @GetMapping("/mockToken") + @ResponseBody + public Object mockToken(String username, String password) { + super.getSession().setAttribute(PermissionConstants.IS_APP, false); + SuccessResponseData resultData = new SuccessResponseData(); + if (StrUtil.hasEmpty(username, password)) { + username = "admin"; + password = "111111"; + } + Subject currentUser = ShiroKit.getSubject(); + + try { + Map key = RSAUtils.genKeyPair(); + ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey)); + + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + + //token自定义 + CasicCustomToken token = new CasicCustomToken(username, password); + token.setType(LoginType.PASSWORD); + token.setRememberMe(false); + + try { + currentUser.login(token); + } catch (Exception e) { + e.printStackTrace(); + } + AuthUser shiroUser = ShiroKit.getUser(); + super.getSession().setAttribute("shiroUser", shiroUser); + super.getSession().setAttribute("username", shiroUser.getAccount()); + super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId()); + + LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp())); + + ShiroKit.getSession().setAttribute("sessionFlag", true); + resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null)); + resultData.setMessage("登录成功"); + return resultData; + } +} diff --git a/casic-web/src/main/resources/META-INF/spring-devtools.properties b/casic-web/src/main/resources/META-INF/spring-devtools.properties new file mode 100644 index 0000000..e3b0a7f --- /dev/null +++ b/casic-web/src/main/resources/META-INF/spring-devtools.properties @@ -0,0 +1 @@ +restart.include.beetl=/beetl-2.7.15.jar \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml new file mode 100644 index 0000000..628fd13 --- /dev/null +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -0,0 +1,30 @@ +server: + port: 8083 +################### spring配置 ################### +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true&nullCatalogMeansCurrent=true + username: root + password: Casic203 +jms: + pub-sub-domain: true +# session: +# store-type: redis +# redis: +# host: 111.198.10.15 +# port: 11412 +# password: ew5T4K3#203lwh +# serializer: org.springframework.data.redis.serializer.StringRedisSerializer +# redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer +casic: + #kaptcha-open: false #是否开启登录时验证码 (true/false) + no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/v2/api-docs,/v2/api-docs-ext,/doc.html,/v2/api-docs/swagger-ui.html,/swagger-resources,/code/generator,/webjars/**,/alarm/getrecognitionRecords,/alarm/savePictures + #flowable数据源和多数据源配置 + db: + init: + enable: false +logging: + level.root: info + level.com.casic: debug + level.org.springframework.web: info \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml new file mode 100644 index 0000000..6553b10 --- /dev/null +++ b/casic-web/src/main/resources/config/application-prod.yml @@ -0,0 +1,34 @@ +server: + port: 8085 +# context-path: /callcenter/api +################### spring配置 ################### +spring: + datasource: + url: jdbc:mysql://10.18.0.20:3306/casic_smartcity_callcenter?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203 + initial-size: 2 + min-idle: 1 + jms: + pub-sub-domain: true + # session: + # store-type: redis + redis: + host: 127.0.0.1 + port: 6379 + password: + +#flowable数据源和多数据源配置 +casic: + kaptcha-open: false #是否开启登录时验证码 (true/false) + nologin-urls: /user/login,/user/appLogin,/kaptcha,/config/baseConfig,/route/mockToken + flowable: + datasource: + url: jdbc:mysql://10.18.0.20:3306/callcenter_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203 +logging: + level.root: info + level.com.casic: debug + path: logs/ + file: missiles.log \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml new file mode 100644 index 0000000..c9259ad --- /dev/null +++ b/casic-web/src/main/build/package.xml @@ -0,0 +1,43 @@ + + + package + + zip + tar.gz + + true + + + + true + true + lib + runtime + + + + + src/main/build/bin + + start.bat + start.sh + + true + 0744 + / + + + src/main/resources/config + true + + *.yml + /*/* + + /config + + + src/main/resources/i18n + / + + + \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java new file mode 100644 index 0000000..739eb99 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -0,0 +1,28 @@ +package com.casic.missiles; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * SpringBoot方式启动类 + * + * @author lwh + * @Date 2021/06/06 12:06 + */ +@SpringBootApplication +@EnableCaching +@EnableTransactionManagement(proxyTargetClass = true) +@EnableAsync +@Slf4j +public class CasicApplication { + public static void main(String[] args) { + SpringApplication.run(CasicApplication.class, args); + log.info("CasicApplication is success!"); + } + +} diff --git a/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java new file mode 100644 index 0000000..e30585b --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java @@ -0,0 +1,18 @@ +package com.casic.missiles; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +/** + * Guns Web程序启动类 + * + * @author fengshuonan + * @date 2017-05-21 9:43 + */ +public class CasicServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(CasicApplication.class); + } +} diff --git a/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java new file mode 100644 index 0000000..4f4ec87 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java @@ -0,0 +1,143 @@ +package com.casic.missiles.config; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.serializer.SerializeConfig; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.serializer.ToStringSerializer; +import com.alibaba.fastjson.serializer.ValueFilter; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import com.casic.missiles.config.properties.CasicProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.LocaleResolver; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; +import org.springframework.web.servlet.i18n.CookieLocaleResolver; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; + + +@ServletComponentScan(basePackageClasses = {DefaultFastjsonConfig.class}) +@ConditionalOnClass(com.alibaba.fastjson.JSON.class) +@ConditionalOnMissingBean(FastJsonHttpMessageConverter.class) +@Configuration +class WebMvcConfig extends WebMvcConfigurationSupport { + @Value("${spring.messages.locale:SIMPLIFIED_CHINESE}") + private String locale; + + public WebMvcConfig() { + } + + @Autowired + private CasicProperties casicProperties; + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + //Spring Boot自动配置自己不会自动把/swagger-ui.html这个路径映射到对应的目录META-INF/resources/下面 + registry.addResourceHandler("swagger-ui.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations( + "classpath:/META-INF/resources/webjars/"); + registry.addResourceHandler("doc.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/favicon.ico").addResourceLocations( + "classpath:/META-INF/resources/"); + if (StrUtil.isNotEmpty(casicProperties.getFile().getUploadPath())) { + registry.addResourceHandler("/static/**").addResourceLocations("file:" + casicProperties.getFile().getUploadPath()); + } + super.addResourceHandlers(registry); + } + + @Override + public LocaleResolver localeResolver() { + CookieLocaleResolver slr = new CookieLocaleResolver(); + //设置默认区域,Locale.SIMPLIFIED_CHINESE + switch (locale) { + case "US": + slr.setDefaultLocale(Locale.US); + break; + default: + slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE); + } + //设置cookie有效期. + slr.setCookieMaxAge(3600); + return slr; + } + + @Override + public void configureMessageConverters(List> converters) { + Iterator> iterator = converters.iterator(); + //先把JackSon的消息转换器删除. 在SpringBoot2.X时代,必须要排除JackSon消息转换器。 + while (iterator.hasNext()) { + HttpMessageConverter converter = iterator.next(); + if (converter instanceof MappingJackson2HttpMessageConverter) { + iterator.remove(); + } + } + FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); + converter.setFastJsonConfig(fastjsonConfig()); + converter.setSupportedMediaTypes(getSupportedMediaType()); + converters.add(converter); + } + + /** + * fastjson的配置 + */ + public FastJsonConfig fastjsonConfig() { + FastJsonConfig fastJsonConfig = new FastJsonConfig(); + fastJsonConfig.setSerializerFeatures( + SerializerFeature.PrettyFormat, + SerializerFeature.WriteMapNullValue, + SerializerFeature.WriteEnumUsingToString + ); + //修改,设置全局时间为精确到天,页面列表显示不带时分秒 + fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); +// fastJsonConfig.setDateFormat("yyyy-MM-dd"); + ValueFilter valueFilter = new ValueFilter() { + @Override + public Object process(Object o, String s, Object o1) { + if (null == o1) { + o1 = ""; + } + return o1; + } + }; + fastJsonConfig.setCharset(Charset.forName("utf-8")); + fastJsonConfig.setSerializeFilters(valueFilter); + + //解决Long转json精度丢失的问题 + SerializeConfig serializeConfig = SerializeConfig.globalInstance; + serializeConfig.put(BigInteger.class, ToStringSerializer.instance); + serializeConfig.put(Long.class, ToStringSerializer.instance); + serializeConfig.put(BigDecimal.class, ToStringSerializer.instance); +// serializeConfig.put(Long.TYPE, ToStringSerializer.instance); + fastJsonConfig.setSerializeConfig(serializeConfig); + return fastJsonConfig; + } + + /** + * 支持的mediaType类型 + */ + public List getSupportedMediaType() { + ArrayList mediaTypes = new ArrayList<>(); + mediaTypes.add(MediaType.APPLICATION_JSON_UTF8); + + return mediaTypes; + } + +} + diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java new file mode 100644 index 0000000..eae6c54 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -0,0 +1,82 @@ +package com.casic.missiles.controller; + +import cn.hutool.core.util.StrUtil; +import com.casic.missiles.core.application.enums.LoginType; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.model.auth.CasicCustomToken; +import com.casic.missiles.core.shiro.ShiroKit; +import com.casic.missiles.core.util.RSAUtils; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.domain.constants.PermissionConstants; +import com.casic.missiles.modular.interfaces.log.LogManager; +import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; +import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.subject.Subject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.security.NoSuchAlgorithmException; +import java.util.Map; + +import static com.casic.missiles.core.util.HttpContext.getIp; + + +/** + * 仅为mock登录使用 + * + * @author lenovo + */ +@Controller +@RequestMapping("/route") +@Slf4j +public class MockController extends BaseController { + + /** + * 获取mockToken + */ + @GetMapping("/mockToken") + @ResponseBody + public Object mockToken(String username, String password) { + super.getSession().setAttribute(PermissionConstants.IS_APP, false); + SuccessResponseData resultData = new SuccessResponseData(); + if (StrUtil.hasEmpty(username, password)) { + username = "admin"; + password = "111111"; + } + Subject currentUser = ShiroKit.getSubject(); + + try { + Map key = RSAUtils.genKeyPair(); + ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey)); + + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + + //token自定义 + CasicCustomToken token = new CasicCustomToken(username, password); + token.setType(LoginType.PASSWORD); + token.setRememberMe(false); + + try { + currentUser.login(token); + } catch (Exception e) { + e.printStackTrace(); + } + AuthUser shiroUser = ShiroKit.getUser(); + super.getSession().setAttribute("shiroUser", shiroUser); + super.getSession().setAttribute("username", shiroUser.getAccount()); + super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId()); + + LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp())); + + ShiroKit.getSession().setAttribute("sessionFlag", true); + resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null)); + resultData.setMessage("登录成功"); + return resultData; + } +} diff --git a/casic-web/src/main/resources/META-INF/spring-devtools.properties b/casic-web/src/main/resources/META-INF/spring-devtools.properties new file mode 100644 index 0000000..e3b0a7f --- /dev/null +++ b/casic-web/src/main/resources/META-INF/spring-devtools.properties @@ -0,0 +1 @@ +restart.include.beetl=/beetl-2.7.15.jar \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml new file mode 100644 index 0000000..628fd13 --- /dev/null +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -0,0 +1,30 @@ +server: + port: 8083 +################### spring配置 ################### +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true&nullCatalogMeansCurrent=true + username: root + password: Casic203 +jms: + pub-sub-domain: true +# session: +# store-type: redis +# redis: +# host: 111.198.10.15 +# port: 11412 +# password: ew5T4K3#203lwh +# serializer: org.springframework.data.redis.serializer.StringRedisSerializer +# redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer +casic: + #kaptcha-open: false #是否开启登录时验证码 (true/false) + no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/v2/api-docs,/v2/api-docs-ext,/doc.html,/v2/api-docs/swagger-ui.html,/swagger-resources,/code/generator,/webjars/**,/alarm/getrecognitionRecords,/alarm/savePictures + #flowable数据源和多数据源配置 + db: + init: + enable: false +logging: + level.root: info + level.com.casic: debug + level.org.springframework.web: info \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml new file mode 100644 index 0000000..6553b10 --- /dev/null +++ b/casic-web/src/main/resources/config/application-prod.yml @@ -0,0 +1,34 @@ +server: + port: 8085 +# context-path: /callcenter/api +################### spring配置 ################### +spring: + datasource: + url: jdbc:mysql://10.18.0.20:3306/casic_smartcity_callcenter?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203 + initial-size: 2 + min-idle: 1 + jms: + pub-sub-domain: true + # session: + # store-type: redis + redis: + host: 127.0.0.1 + port: 6379 + password: + +#flowable数据源和多数据源配置 +casic: + kaptcha-open: false #是否开启登录时验证码 (true/false) + nologin-urls: /user/login,/user/appLogin,/kaptcha,/config/baseConfig,/route/mockToken + flowable: + datasource: + url: jdbc:mysql://10.18.0.20:3306/callcenter_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203 +logging: + level.root: info + level.com.casic: debug + path: logs/ + file: missiles.log \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-test.yml b/casic-web/src/main/resources/config/application-test.yml new file mode 100644 index 0000000..54d7252 --- /dev/null +++ b/casic-web/src/main/resources/config/application-test.yml @@ -0,0 +1,30 @@ +server: + port: 11307 +################### spring配置 ################### +spring: + datasource: + url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203! + initial-size: 2 + min-idle: 1 + jms: + pub-sub-domain: true +# session: +# store-type: redis +casic: + # kaptcha-open: false #是否开启登录时验证码 (true/false) + nologin-urls: /user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/** + #flowable数据源和多数据源配置 + flowable: + datasource: + url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203! +flowable: + checkProcessDefinitions: false #不校验process文件 +logging: + level.root: info + level.com.casic: debug + path: logs/ + file: missiles.log \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml new file mode 100644 index 0000000..c9259ad --- /dev/null +++ b/casic-web/src/main/build/package.xml @@ -0,0 +1,43 @@ + + + package + + zip + tar.gz + + true + + + + true + true + lib + runtime + + + + + src/main/build/bin + + start.bat + start.sh + + true + 0744 + / + + + src/main/resources/config + true + + *.yml + /*/* + + /config + + + src/main/resources/i18n + / + + + \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java new file mode 100644 index 0000000..739eb99 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -0,0 +1,28 @@ +package com.casic.missiles; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * SpringBoot方式启动类 + * + * @author lwh + * @Date 2021/06/06 12:06 + */ +@SpringBootApplication +@EnableCaching +@EnableTransactionManagement(proxyTargetClass = true) +@EnableAsync +@Slf4j +public class CasicApplication { + public static void main(String[] args) { + SpringApplication.run(CasicApplication.class, args); + log.info("CasicApplication is success!"); + } + +} diff --git a/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java new file mode 100644 index 0000000..e30585b --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java @@ -0,0 +1,18 @@ +package com.casic.missiles; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +/** + * Guns Web程序启动类 + * + * @author fengshuonan + * @date 2017-05-21 9:43 + */ +public class CasicServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(CasicApplication.class); + } +} diff --git a/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java new file mode 100644 index 0000000..4f4ec87 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java @@ -0,0 +1,143 @@ +package com.casic.missiles.config; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.serializer.SerializeConfig; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.serializer.ToStringSerializer; +import com.alibaba.fastjson.serializer.ValueFilter; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import com.casic.missiles.config.properties.CasicProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.LocaleResolver; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; +import org.springframework.web.servlet.i18n.CookieLocaleResolver; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; + + +@ServletComponentScan(basePackageClasses = {DefaultFastjsonConfig.class}) +@ConditionalOnClass(com.alibaba.fastjson.JSON.class) +@ConditionalOnMissingBean(FastJsonHttpMessageConverter.class) +@Configuration +class WebMvcConfig extends WebMvcConfigurationSupport { + @Value("${spring.messages.locale:SIMPLIFIED_CHINESE}") + private String locale; + + public WebMvcConfig() { + } + + @Autowired + private CasicProperties casicProperties; + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + //Spring Boot自动配置自己不会自动把/swagger-ui.html这个路径映射到对应的目录META-INF/resources/下面 + registry.addResourceHandler("swagger-ui.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations( + "classpath:/META-INF/resources/webjars/"); + registry.addResourceHandler("doc.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/favicon.ico").addResourceLocations( + "classpath:/META-INF/resources/"); + if (StrUtil.isNotEmpty(casicProperties.getFile().getUploadPath())) { + registry.addResourceHandler("/static/**").addResourceLocations("file:" + casicProperties.getFile().getUploadPath()); + } + super.addResourceHandlers(registry); + } + + @Override + public LocaleResolver localeResolver() { + CookieLocaleResolver slr = new CookieLocaleResolver(); + //设置默认区域,Locale.SIMPLIFIED_CHINESE + switch (locale) { + case "US": + slr.setDefaultLocale(Locale.US); + break; + default: + slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE); + } + //设置cookie有效期. + slr.setCookieMaxAge(3600); + return slr; + } + + @Override + public void configureMessageConverters(List> converters) { + Iterator> iterator = converters.iterator(); + //先把JackSon的消息转换器删除. 在SpringBoot2.X时代,必须要排除JackSon消息转换器。 + while (iterator.hasNext()) { + HttpMessageConverter converter = iterator.next(); + if (converter instanceof MappingJackson2HttpMessageConverter) { + iterator.remove(); + } + } + FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); + converter.setFastJsonConfig(fastjsonConfig()); + converter.setSupportedMediaTypes(getSupportedMediaType()); + converters.add(converter); + } + + /** + * fastjson的配置 + */ + public FastJsonConfig fastjsonConfig() { + FastJsonConfig fastJsonConfig = new FastJsonConfig(); + fastJsonConfig.setSerializerFeatures( + SerializerFeature.PrettyFormat, + SerializerFeature.WriteMapNullValue, + SerializerFeature.WriteEnumUsingToString + ); + //修改,设置全局时间为精确到天,页面列表显示不带时分秒 + fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); +// fastJsonConfig.setDateFormat("yyyy-MM-dd"); + ValueFilter valueFilter = new ValueFilter() { + @Override + public Object process(Object o, String s, Object o1) { + if (null == o1) { + o1 = ""; + } + return o1; + } + }; + fastJsonConfig.setCharset(Charset.forName("utf-8")); + fastJsonConfig.setSerializeFilters(valueFilter); + + //解决Long转json精度丢失的问题 + SerializeConfig serializeConfig = SerializeConfig.globalInstance; + serializeConfig.put(BigInteger.class, ToStringSerializer.instance); + serializeConfig.put(Long.class, ToStringSerializer.instance); + serializeConfig.put(BigDecimal.class, ToStringSerializer.instance); +// serializeConfig.put(Long.TYPE, ToStringSerializer.instance); + fastJsonConfig.setSerializeConfig(serializeConfig); + return fastJsonConfig; + } + + /** + * 支持的mediaType类型 + */ + public List getSupportedMediaType() { + ArrayList mediaTypes = new ArrayList<>(); + mediaTypes.add(MediaType.APPLICATION_JSON_UTF8); + + return mediaTypes; + } + +} + diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java new file mode 100644 index 0000000..eae6c54 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -0,0 +1,82 @@ +package com.casic.missiles.controller; + +import cn.hutool.core.util.StrUtil; +import com.casic.missiles.core.application.enums.LoginType; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.model.auth.CasicCustomToken; +import com.casic.missiles.core.shiro.ShiroKit; +import com.casic.missiles.core.util.RSAUtils; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.domain.constants.PermissionConstants; +import com.casic.missiles.modular.interfaces.log.LogManager; +import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; +import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.subject.Subject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.security.NoSuchAlgorithmException; +import java.util.Map; + +import static com.casic.missiles.core.util.HttpContext.getIp; + + +/** + * 仅为mock登录使用 + * + * @author lenovo + */ +@Controller +@RequestMapping("/route") +@Slf4j +public class MockController extends BaseController { + + /** + * 获取mockToken + */ + @GetMapping("/mockToken") + @ResponseBody + public Object mockToken(String username, String password) { + super.getSession().setAttribute(PermissionConstants.IS_APP, false); + SuccessResponseData resultData = new SuccessResponseData(); + if (StrUtil.hasEmpty(username, password)) { + username = "admin"; + password = "111111"; + } + Subject currentUser = ShiroKit.getSubject(); + + try { + Map key = RSAUtils.genKeyPair(); + ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey)); + + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + + //token自定义 + CasicCustomToken token = new CasicCustomToken(username, password); + token.setType(LoginType.PASSWORD); + token.setRememberMe(false); + + try { + currentUser.login(token); + } catch (Exception e) { + e.printStackTrace(); + } + AuthUser shiroUser = ShiroKit.getUser(); + super.getSession().setAttribute("shiroUser", shiroUser); + super.getSession().setAttribute("username", shiroUser.getAccount()); + super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId()); + + LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp())); + + ShiroKit.getSession().setAttribute("sessionFlag", true); + resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null)); + resultData.setMessage("登录成功"); + return resultData; + } +} diff --git a/casic-web/src/main/resources/META-INF/spring-devtools.properties b/casic-web/src/main/resources/META-INF/spring-devtools.properties new file mode 100644 index 0000000..e3b0a7f --- /dev/null +++ b/casic-web/src/main/resources/META-INF/spring-devtools.properties @@ -0,0 +1 @@ +restart.include.beetl=/beetl-2.7.15.jar \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml new file mode 100644 index 0000000..628fd13 --- /dev/null +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -0,0 +1,30 @@ +server: + port: 8083 +################### spring配置 ################### +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true&nullCatalogMeansCurrent=true + username: root + password: Casic203 +jms: + pub-sub-domain: true +# session: +# store-type: redis +# redis: +# host: 111.198.10.15 +# port: 11412 +# password: ew5T4K3#203lwh +# serializer: org.springframework.data.redis.serializer.StringRedisSerializer +# redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer +casic: + #kaptcha-open: false #是否开启登录时验证码 (true/false) + no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/v2/api-docs,/v2/api-docs-ext,/doc.html,/v2/api-docs/swagger-ui.html,/swagger-resources,/code/generator,/webjars/**,/alarm/getrecognitionRecords,/alarm/savePictures + #flowable数据源和多数据源配置 + db: + init: + enable: false +logging: + level.root: info + level.com.casic: debug + level.org.springframework.web: info \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml new file mode 100644 index 0000000..6553b10 --- /dev/null +++ b/casic-web/src/main/resources/config/application-prod.yml @@ -0,0 +1,34 @@ +server: + port: 8085 +# context-path: /callcenter/api +################### spring配置 ################### +spring: + datasource: + url: jdbc:mysql://10.18.0.20:3306/casic_smartcity_callcenter?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203 + initial-size: 2 + min-idle: 1 + jms: + pub-sub-domain: true + # session: + # store-type: redis + redis: + host: 127.0.0.1 + port: 6379 + password: + +#flowable数据源和多数据源配置 +casic: + kaptcha-open: false #是否开启登录时验证码 (true/false) + nologin-urls: /user/login,/user/appLogin,/kaptcha,/config/baseConfig,/route/mockToken + flowable: + datasource: + url: jdbc:mysql://10.18.0.20:3306/callcenter_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203 +logging: + level.root: info + level.com.casic: debug + path: logs/ + file: missiles.log \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-test.yml b/casic-web/src/main/resources/config/application-test.yml new file mode 100644 index 0000000..54d7252 --- /dev/null +++ b/casic-web/src/main/resources/config/application-test.yml @@ -0,0 +1,30 @@ +server: + port: 11307 +################### spring配置 ################### +spring: + datasource: + url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203! + initial-size: 2 + min-idle: 1 + jms: + pub-sub-domain: true +# session: +# store-type: redis +casic: + # kaptcha-open: false #是否开启登录时验证码 (true/false) + nologin-urls: /user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/** + #flowable数据源和多数据源配置 + flowable: + datasource: + url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203! +flowable: + checkProcessDefinitions: false #不校验process文件 +logging: + level.root: info + level.com.casic: debug + path: logs/ + file: missiles.log \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml new file mode 100644 index 0000000..49db88a --- /dev/null +++ b/casic-web/src/main/resources/config/application.yml @@ -0,0 +1,29 @@ +########################################################## +################## 所有profile共有的配置 ################# +########################################################## +spring: + profiles: + active: @activatedProperties@ + servlet: + multipart: + max-file-size: 50MB + max-request-size: 80MB +mybatis-plus: + configuration: + # 配置结果集属性为空时 是否映射返回结果 +# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用 + map-underscore-to-camel-case: true +################### mybatis-plus配置 ################### +################### guns配置 ################### +casic: + swagger-open: true #是否开启swagger (true/false) + kaptcha-open: false #是否开启登录时验证码 (true/false) + muti-datasource-open: false #是否开启多数据源(true/false) + spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false) + session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒 + session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒 + no-login-urls: /user/login,/kaptcha,/config/baseConfig + + config: + export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\ + config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\ \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml new file mode 100644 index 0000000..c9259ad --- /dev/null +++ b/casic-web/src/main/build/package.xml @@ -0,0 +1,43 @@ + + + package + + zip + tar.gz + + true + + + + true + true + lib + runtime + + + + + src/main/build/bin + + start.bat + start.sh + + true + 0744 + / + + + src/main/resources/config + true + + *.yml + /*/* + + /config + + + src/main/resources/i18n + / + + + \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java new file mode 100644 index 0000000..739eb99 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -0,0 +1,28 @@ +package com.casic.missiles; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * SpringBoot方式启动类 + * + * @author lwh + * @Date 2021/06/06 12:06 + */ +@SpringBootApplication +@EnableCaching +@EnableTransactionManagement(proxyTargetClass = true) +@EnableAsync +@Slf4j +public class CasicApplication { + public static void main(String[] args) { + SpringApplication.run(CasicApplication.class, args); + log.info("CasicApplication is success!"); + } + +} diff --git a/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java new file mode 100644 index 0000000..e30585b --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java @@ -0,0 +1,18 @@ +package com.casic.missiles; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +/** + * Guns Web程序启动类 + * + * @author fengshuonan + * @date 2017-05-21 9:43 + */ +public class CasicServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(CasicApplication.class); + } +} diff --git a/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java new file mode 100644 index 0000000..4f4ec87 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java @@ -0,0 +1,143 @@ +package com.casic.missiles.config; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.serializer.SerializeConfig; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.serializer.ToStringSerializer; +import com.alibaba.fastjson.serializer.ValueFilter; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import com.casic.missiles.config.properties.CasicProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.LocaleResolver; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; +import org.springframework.web.servlet.i18n.CookieLocaleResolver; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; + + +@ServletComponentScan(basePackageClasses = {DefaultFastjsonConfig.class}) +@ConditionalOnClass(com.alibaba.fastjson.JSON.class) +@ConditionalOnMissingBean(FastJsonHttpMessageConverter.class) +@Configuration +class WebMvcConfig extends WebMvcConfigurationSupport { + @Value("${spring.messages.locale:SIMPLIFIED_CHINESE}") + private String locale; + + public WebMvcConfig() { + } + + @Autowired + private CasicProperties casicProperties; + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + //Spring Boot自动配置自己不会自动把/swagger-ui.html这个路径映射到对应的目录META-INF/resources/下面 + registry.addResourceHandler("swagger-ui.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations( + "classpath:/META-INF/resources/webjars/"); + registry.addResourceHandler("doc.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/favicon.ico").addResourceLocations( + "classpath:/META-INF/resources/"); + if (StrUtil.isNotEmpty(casicProperties.getFile().getUploadPath())) { + registry.addResourceHandler("/static/**").addResourceLocations("file:" + casicProperties.getFile().getUploadPath()); + } + super.addResourceHandlers(registry); + } + + @Override + public LocaleResolver localeResolver() { + CookieLocaleResolver slr = new CookieLocaleResolver(); + //设置默认区域,Locale.SIMPLIFIED_CHINESE + switch (locale) { + case "US": + slr.setDefaultLocale(Locale.US); + break; + default: + slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE); + } + //设置cookie有效期. + slr.setCookieMaxAge(3600); + return slr; + } + + @Override + public void configureMessageConverters(List> converters) { + Iterator> iterator = converters.iterator(); + //先把JackSon的消息转换器删除. 在SpringBoot2.X时代,必须要排除JackSon消息转换器。 + while (iterator.hasNext()) { + HttpMessageConverter converter = iterator.next(); + if (converter instanceof MappingJackson2HttpMessageConverter) { + iterator.remove(); + } + } + FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); + converter.setFastJsonConfig(fastjsonConfig()); + converter.setSupportedMediaTypes(getSupportedMediaType()); + converters.add(converter); + } + + /** + * fastjson的配置 + */ + public FastJsonConfig fastjsonConfig() { + FastJsonConfig fastJsonConfig = new FastJsonConfig(); + fastJsonConfig.setSerializerFeatures( + SerializerFeature.PrettyFormat, + SerializerFeature.WriteMapNullValue, + SerializerFeature.WriteEnumUsingToString + ); + //修改,设置全局时间为精确到天,页面列表显示不带时分秒 + fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); +// fastJsonConfig.setDateFormat("yyyy-MM-dd"); + ValueFilter valueFilter = new ValueFilter() { + @Override + public Object process(Object o, String s, Object o1) { + if (null == o1) { + o1 = ""; + } + return o1; + } + }; + fastJsonConfig.setCharset(Charset.forName("utf-8")); + fastJsonConfig.setSerializeFilters(valueFilter); + + //解决Long转json精度丢失的问题 + SerializeConfig serializeConfig = SerializeConfig.globalInstance; + serializeConfig.put(BigInteger.class, ToStringSerializer.instance); + serializeConfig.put(Long.class, ToStringSerializer.instance); + serializeConfig.put(BigDecimal.class, ToStringSerializer.instance); +// serializeConfig.put(Long.TYPE, ToStringSerializer.instance); + fastJsonConfig.setSerializeConfig(serializeConfig); + return fastJsonConfig; + } + + /** + * 支持的mediaType类型 + */ + public List getSupportedMediaType() { + ArrayList mediaTypes = new ArrayList<>(); + mediaTypes.add(MediaType.APPLICATION_JSON_UTF8); + + return mediaTypes; + } + +} + diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java new file mode 100644 index 0000000..eae6c54 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -0,0 +1,82 @@ +package com.casic.missiles.controller; + +import cn.hutool.core.util.StrUtil; +import com.casic.missiles.core.application.enums.LoginType; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.model.auth.CasicCustomToken; +import com.casic.missiles.core.shiro.ShiroKit; +import com.casic.missiles.core.util.RSAUtils; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.domain.constants.PermissionConstants; +import com.casic.missiles.modular.interfaces.log.LogManager; +import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; +import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.subject.Subject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.security.NoSuchAlgorithmException; +import java.util.Map; + +import static com.casic.missiles.core.util.HttpContext.getIp; + + +/** + * 仅为mock登录使用 + * + * @author lenovo + */ +@Controller +@RequestMapping("/route") +@Slf4j +public class MockController extends BaseController { + + /** + * 获取mockToken + */ + @GetMapping("/mockToken") + @ResponseBody + public Object mockToken(String username, String password) { + super.getSession().setAttribute(PermissionConstants.IS_APP, false); + SuccessResponseData resultData = new SuccessResponseData(); + if (StrUtil.hasEmpty(username, password)) { + username = "admin"; + password = "111111"; + } + Subject currentUser = ShiroKit.getSubject(); + + try { + Map key = RSAUtils.genKeyPair(); + ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey)); + + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + + //token自定义 + CasicCustomToken token = new CasicCustomToken(username, password); + token.setType(LoginType.PASSWORD); + token.setRememberMe(false); + + try { + currentUser.login(token); + } catch (Exception e) { + e.printStackTrace(); + } + AuthUser shiroUser = ShiroKit.getUser(); + super.getSession().setAttribute("shiroUser", shiroUser); + super.getSession().setAttribute("username", shiroUser.getAccount()); + super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId()); + + LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp())); + + ShiroKit.getSession().setAttribute("sessionFlag", true); + resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null)); + resultData.setMessage("登录成功"); + return resultData; + } +} diff --git a/casic-web/src/main/resources/META-INF/spring-devtools.properties b/casic-web/src/main/resources/META-INF/spring-devtools.properties new file mode 100644 index 0000000..e3b0a7f --- /dev/null +++ b/casic-web/src/main/resources/META-INF/spring-devtools.properties @@ -0,0 +1 @@ +restart.include.beetl=/beetl-2.7.15.jar \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml new file mode 100644 index 0000000..628fd13 --- /dev/null +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -0,0 +1,30 @@ +server: + port: 8083 +################### spring配置 ################### +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true&nullCatalogMeansCurrent=true + username: root + password: Casic203 +jms: + pub-sub-domain: true +# session: +# store-type: redis +# redis: +# host: 111.198.10.15 +# port: 11412 +# password: ew5T4K3#203lwh +# serializer: org.springframework.data.redis.serializer.StringRedisSerializer +# redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer +casic: + #kaptcha-open: false #是否开启登录时验证码 (true/false) + no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/v2/api-docs,/v2/api-docs-ext,/doc.html,/v2/api-docs/swagger-ui.html,/swagger-resources,/code/generator,/webjars/**,/alarm/getrecognitionRecords,/alarm/savePictures + #flowable数据源和多数据源配置 + db: + init: + enable: false +logging: + level.root: info + level.com.casic: debug + level.org.springframework.web: info \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml new file mode 100644 index 0000000..6553b10 --- /dev/null +++ b/casic-web/src/main/resources/config/application-prod.yml @@ -0,0 +1,34 @@ +server: + port: 8085 +# context-path: /callcenter/api +################### spring配置 ################### +spring: + datasource: + url: jdbc:mysql://10.18.0.20:3306/casic_smartcity_callcenter?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203 + initial-size: 2 + min-idle: 1 + jms: + pub-sub-domain: true + # session: + # store-type: redis + redis: + host: 127.0.0.1 + port: 6379 + password: + +#flowable数据源和多数据源配置 +casic: + kaptcha-open: false #是否开启登录时验证码 (true/false) + nologin-urls: /user/login,/user/appLogin,/kaptcha,/config/baseConfig,/route/mockToken + flowable: + datasource: + url: jdbc:mysql://10.18.0.20:3306/callcenter_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203 +logging: + level.root: info + level.com.casic: debug + path: logs/ + file: missiles.log \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-test.yml b/casic-web/src/main/resources/config/application-test.yml new file mode 100644 index 0000000..54d7252 --- /dev/null +++ b/casic-web/src/main/resources/config/application-test.yml @@ -0,0 +1,30 @@ +server: + port: 11307 +################### spring配置 ################### +spring: + datasource: + url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203! + initial-size: 2 + min-idle: 1 + jms: + pub-sub-domain: true +# session: +# store-type: redis +casic: + # kaptcha-open: false #是否开启登录时验证码 (true/false) + nologin-urls: /user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/** + #flowable数据源和多数据源配置 + flowable: + datasource: + url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203! +flowable: + checkProcessDefinitions: false #不校验process文件 +logging: + level.root: info + level.com.casic: debug + path: logs/ + file: missiles.log \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml new file mode 100644 index 0000000..49db88a --- /dev/null +++ b/casic-web/src/main/resources/config/application.yml @@ -0,0 +1,29 @@ +########################################################## +################## 所有profile共有的配置 ################# +########################################################## +spring: + profiles: + active: @activatedProperties@ + servlet: + multipart: + max-file-size: 50MB + max-request-size: 80MB +mybatis-plus: + configuration: + # 配置结果集属性为空时 是否映射返回结果 +# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用 + map-underscore-to-camel-case: true +################### mybatis-plus配置 ################### +################### guns配置 ################### +casic: + swagger-open: true #是否开启swagger (true/false) + kaptcha-open: false #是否开启登录时验证码 (true/false) + muti-datasource-open: false #是否开启多数据源(true/false) + spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false) + session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒 + session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒 + no-login-urls: /user/login,/kaptcha,/config/baseConfig + + config: + export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\ + config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\ \ No newline at end of file diff --git a/casic-web/src/main/resources/logback-spring.xml b/casic-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..c0c7ac9 --- /dev/null +++ b/casic-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e20bc1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea/ +**/target/** +logs/ +*.iml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fa98f0 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# casic项目 V2.0.0 + +[^_^]: # (Talk is cheap,Show me the code!) + +## 介绍 +基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot2.4 + shiro + mybatis-plus ! +基于casic项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块) +可以直接作为一个后台管理系统的脚手架! 2021目标 `更简洁`,`更规范`! + + +#### 其他 +>* [git地址](http://192.168.0.203:8080/gitbucket) +>* [本地免登地址](http://localhost:8083/route/mockToken) diff --git a/casic-server/pom.xml b/casic-server/pom.xml new file mode 100644 index 0000000..fc54abe --- /dev/null +++ b/casic-server/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.casic + casic-ktd + 2.0.0 + ../pom.xml + + + casic-server + 2.0.0 + jar + casic-server + casic 的spring boot版本 + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + com.casic + casic-export-support + ${extension.version} + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + + + com.baomidou + mybatis-plus-generator + 3.5.1 + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + io.swagger + swagger-annotations + 1.5.18 + compile + + + + cn.hutool + hutool-all + 5.8.12 + + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java new file mode 100644 index 0000000..b3b43b4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import com.casic.missiles.modular.system.util.FileUtil; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.ExecutionException; + +/** + *

+ * 告警记录表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Api(tags = "告警记录模块") +@RestController +@RequestMapping("/alarm") +public class AlarmRecordController extends ExportController { + private static Logger logger = LoggerFactory.getLogger(AlarmRecordController.class); + + @Autowired + private IAnalysisRecognitionService iAnalysisRecognitionService; + @Resource + private IAlarmRecordService iAlarmRecordService; + + @ApiOperation("算法接口") + @PostMapping("/getrecognitionRecords") + public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { + + return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); + } + + @ApiOperation("保存图片") + @PostMapping("/savePictures") + public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { + String path = ""; + try { + path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\"); + } catch (IOException e) { + e.printStackTrace(); + } + return ReturnUtil.success(path); + } + + @ApiOperation("新建报警") + @PostMapping("/add") + public Object add(@RequestBody AlarmRecord alarmRecord) { + return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); + } + + + @ApiOperation("告警记录列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java new file mode 100644 index 0000000..6550805 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -0,0 +1,55 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 规则设置 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "告警规则模块") +@RestController +@RequestMapping("/system/alarmRule") +public class AlarmRuleController extends ExportController { + @Resource + private IAlarmRuleService iAlarmRuleService; + + @ApiOperation("新建报警规则") + @PostMapping("/add") + public Object add(@RequestBody AlarmRule alarmRule) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_ID",alarmRule.getDeviceId()); + iAlarmRuleService.remove(queryWrapper); + return ReturnUtil.success(iAlarmRuleService.save(alarmRule)); + } + + + @ApiOperation("告警规则列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iAlarmRuleService.page(page))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java new file mode 100644 index 0000000..2a645d3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisCouplingController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 耦合关联分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisCoupling") +public class AnalysisCouplingController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java new file mode 100644 index 0000000..bd6f2ed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AnalysisRecognitionController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 第三方施工智能识别分析 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/analysisRecognition") +public class AnalysisRecognitionController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java new file mode 100644 index 0000000..1436c18 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceInfoController.java @@ -0,0 +1,47 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 云台信息 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "云台设备管理基本信息接口") +@RestController +@RequestMapping("/system/busDeviceInfo") +public class BusDeviceInfoController extends ExportController { + @Resource + private IBusDeviceInfoService iBusDeviceInfoService; + + @ApiOperation("新增云台基本信息") + @PostMapping("/add") + public Object add(@RequestBody BusDeviceInfo busDeviceInfo) { + + return ReturnUtil.success(iBusDeviceInfoService.saveDevice(busDeviceInfo)); + } + + @ApiOperation("云台列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceInfoService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java new file mode 100644 index 0000000..dc25430 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 地下空洞基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busHole") +public class BusHoleController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java new file mode 100644 index 0000000..39d0eb5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 巡检车辆基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Api(tags = "巡检车辆基本信息接口") +@RestController +@RequestMapping("/system/busPatrolCar") +public class BusPatrolCarController extends ExportController { + + @Resource + private IBusPatrolCarService iBusPatrolCarService; + + @ApiOperation("新建巡检车辆") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolCar busPatrolCar) { + + return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar)); + + } + + @ApiOperation("车辆列表") + @PostMapping("/listPage") + public Object listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java new file mode 100644 index 0000000..e06f0dc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; + +/** + *

+ * 巡检任务表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检任务模块") +@RestController +@RequestMapping("/system/busPatrolTask") +public class BusPatrolTaskController extends ExportController { + @Resource + private IBusPatrolTaskService iBusPatrolTaskService; + + @ApiOperation("新建巡检任务") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTask busPatrolTask) { + return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); + } + + @ApiOperation("编辑巡检任务") + @PostMapping("/edit") + public Object edit(@RequestBody BusPatrolTask busPatrolTask) { + Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.updateById(busPatrolTask)); + } + + @ApiOperation("巡检任务列表") + @PostMapping("/listPage") + public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); + } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java new file mode 100644 index 0000000..d068947 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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 javax.annotation.Resource; + +/** + *

+ * 巡检轨迹表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Api(tags = "巡检轨迹相关信息接口") +@RestController +@RequestMapping("/system/busPatrolTrack") +public class BusPatrolTrackController extends ExportController { + @Resource + private IBusPatrolTrackService iBusPatrolTrackService; + + @ApiOperation("新建巡检轨迹信息") + @PostMapping("/add") + public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { + + return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); + + } + + @ApiOperation("巡检轨迹列表") + @PostMapping("/listPage") + public Object listPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + } + + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java new file mode 100644 index 0000000..aaced3a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 管线占压基本信息表 前端控制器 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@RestController +@RequestMapping("/system/busPipeOverstock") +public class BusPipeOverstockController { + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java new file mode 100644 index 0000000..39ae08d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; +import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.Collections; + +/** + *

+ * mybatisPlus代码生成器 + *

+ * + * @author zt + * @since 2023-05-25 + */ +@RestController +@RequestMapping("/code") +public class CodeGenerator { + + @GetMapping("generator") + public static void main(String [] args) { + run(); + } + + public static void run() { + + FastAutoGenerator.create( + //数据源配置,url需要修改 + new DataSourceConfig.Builder("jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true", "root", "Casic203") + .dbQuery(new MySqlQuery()) + .schema("schema") + .typeConvert(new MySqlTypeConvert()) + .keyWordsHandler(new MySqlKeyWordsHandler()) + ) + + //全局配置 + .globalConfig(builder -> { + builder.author("zt") // 设置作者 + .disableOpenDir()//禁止打开输出目录 + .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录 + }) + + //包配置 + .packageConfig(builder -> { + builder.parent("com.casic.missiles.modular") // 设置父包名,根据实制项目路径修改 + .moduleName("system") // 父包名路径下再新建的文件夹 + .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 + .service("service") + .serviceImpl("service.impl") + .mapper("mapper") + .xml("mapper.xml") + .controller("controller") + //.other("other") + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/java/mapper/xml")); // 存放mapper.xml路径 + }) + + //策略配置 + .strategyConfig(builder -> { + builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + //.addTablePrefix("jm_") // 设置过滤表前缀 + .entityBuilder() //实体类配置 + .enableLombok() //使用lombok + .enableTableFieldAnnotation()//实体类字段注解 + .controllerBuilder()//controller配置 + .enableRestStyle()//开启restcontroller + .mapperBuilder() + .enableMapperAnnotation()//开启mapper注解 + .enableBaseResultMap()//启用 BaseResultMap 生成 + .enableBaseColumnList();//启用 BaseColumnList + }) + //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .execute(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java new file mode 100644 index 0000000..87b6fec --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/DemoController.java @@ -0,0 +1,41 @@ +package com.casic.missiles.modular.system.controller; + + +import com.casic.missiles.model.application.event.core.EventPublisher; +import com.casic.missiles.model.application.event.enums.ModelEventTypeEnum; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.event.UserEvent; +import com.casic.missiles.modular.system.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName DemoController + * @Description TODO + * @Author lenovo + * @Date 2020/6/13 15:38 + * @Version 1.0 + */ +@RestController +@RequestMapping("/demo") +public class DemoController { + @Autowired + private EventPublisher publisher; + + /** + * 获取mockToken + */ + @PostMapping("/list") + @ResponseBody + public Object list() { + User user = new User(); + user.setAccount("张三"); + publisher.publishEvent(new UserEvent(ModelEventTypeEnum.ADD, user)); + return ResponseData.success(); + } + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java new file mode 100644 index 0000000..169bb0c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 告警记录表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Mapper +public interface AlarmRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(ALARM_CODE, 12)), 0) from alarm_record") + Long selectMaxCode(); + + Page listPage(Page page, @Param("request") AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java new file mode 100644 index 0000000..901e649 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AlarmRuleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 规则设置 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java new file mode 100644 index 0000000..02bffb4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisCouplingMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 耦合关联分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisCouplingMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java new file mode 100644 index 0000000..cafb7ba --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/AnalysisRecognitionMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 第三方施工智能识别分析 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface AnalysisRecognitionMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java new file mode 100644 index 0000000..4a739f3 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceInfoMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 云台信息 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusDeviceInfoMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java new file mode 100644 index 0000000..2cef183 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusHoleMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 地下空洞基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusHoleMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java new file mode 100644 index 0000000..47f03ee --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolCarMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检车辆基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Mapper +public interface BusPatrolCarMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java new file mode 100644 index 0000000..c9016c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + *

+ * 巡检任务表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTaskMapper extends BaseMapper { + + Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request); + + @Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task") + Long selectMaxCode(); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java new file mode 100644 index 0000000..0433d60 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTrackMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 巡检轨迹表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPatrolTrackMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java new file mode 100644 index 0000000..43cf910 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPipeOverstockMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 管线占压基本信息表 Mapper 接口 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Mapper +public interface BusPipeOverstockMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml new file mode 100644 index 0000000..97688d8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ar.ID , + ar.DEVICE_ID as deviceId, + ar.ALARM_CODE as alarmCode, + ar.ALARM_TYPE as alarmType, + ar.TASK_ID as taskId, + ar.ALARM_CONTENT as alarmContent, + ar.ALARM_VALUE as alarmValue, + ar.ALARM_THRESH as alarmThresh, + ar.ALARM_VIDEO as alarmVideo, + ar.ALARM_PICTURE as alarmPicture, + ar.ALARM_TIME as alarmTime, + ar.ALARM_STATUS as alarmStatus, + ar.ALARM_LONGITUDE as alarmLongitude, + ar.ALARM_LATITUDE as alarmLatitude, + ar.CANCEL_TIME as cancelTime, + ar.CANCEL_USER as cancelUser, + ar.CANCEL_RESULT as cancelResult, + ar.TS + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml new file mode 100644 index 0000000..1fbc579 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + DEVICE_ID, HIGH, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml new file mode 100644 index 0000000..862ab9c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisCouplingMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, COUPLING_CODE, COUPLING_TIME, COUPLING_RESULT, RECOGNITION_LEVEL, RECOGNITION_VALUE, OVERSTOCK_LEVE, OVERSTOCK_VALUE, HOLE_LEVE, HOLE_VALUE, GAS_LEVEL, GAS_VALUE, LATITUDE, LONGITUDE, POSITION, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml new file mode 100644 index 0000000..dccf8ae --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AnalysisRecognitionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + ID, RECOGNITION_CODE, RECOGNITION_TIME, RECOGNITION_TYPE, RECOGNITION_LEVEL, RECOGNITION_PRECISION, TASK_ID, ALARM_VIDEO, LATITUDE, LONGITUDE, POSITION, ALARM_PICTURE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml new file mode 100644 index 0000000..6c67b28 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceInfoMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID, DEVICE_NAME, CAR_ID, DEVICE_MODEL, DEVICE_CODE, DEVICE_IP, DEVICE_PORT, DEVICE_USER, DEVICE_PASSWORD, NVR_IP, NVR_PORT, NVR_CHANNEL, NVR_USER, NVR_PASSWORD, DESCRIPTION, DEVICE_STATUS, VALID, SETUP_DATE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml new file mode 100644 index 0000000..cc38bd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusHoleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, HOLE_CODE, ABNORMOL_WAVE, DETECTION_DISTANCE, HOLE_SIZE, HOLE_TYPE, HOLE_PICTURE, DETECTION_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml new file mode 100644 index 0000000..edcf5e6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolCarMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + ID, CAR_NAME, CAR_PLATE, DESCRIPTION, DEPT_ID, LONGITUDE, LATITUDE, `STATUS`, VALID, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml new file mode 100644 index 0000000..2d503c9 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml new file mode 100644 index 0000000..b5a501e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTrackMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + ID, TASK_ID, LONGITUDE, LAGITUDE, GAS, DIRECTION, PITCH, POSITION, SPEED, IS_ALARM, DEVICE_STATUS, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml new file mode 100644 index 0000000..63e9c1b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..cb9220a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmRecordRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + private String alarmType; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + private String alarmStatus; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java new file mode 100644 index 0000000..de89589 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTaskRequest { + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("开始时间") + private String beginDate; + + @ApiModelProperty("结束时间") + private String endDate; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java new file mode 100644 index 0000000..ac638e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/RecognitionRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class RecognitionRequest { + + private String recognizeType; + + private String recognizeContent; + + private String recognizePhoto; + + private String recognizeVideo; + + private String recognizeTime; + + private String recognizePostion; + + private String recognizeAccuracy; + + private String recognizeRiskLevel; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java new file mode 100644 index 0000000..9656851 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ReturnDTO.java @@ -0,0 +1,37 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class ReturnDTO implements Serializable { + @ApiModelProperty(value = "返回码", dataType = "String") + private Integer code; + @ApiModelProperty(value = "提示信息", dataType = "String") + private String message; + @ApiModelProperty(value = "返回值", dataType = "Object") + private T data; + + public ReturnDTO(Integer code, String message, T data) { + this.code = code; + this.message = message; + this.data = data; + } + + public ReturnDTO(Integer code, String message) { + this.code = code; + this.message = message; + } + + public ReturnDTO() { + } +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java new file mode 100644 index 0000000..9147c45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java @@ -0,0 +1,103 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 告警记录表 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Getter +@Setter +@TableName("alarm_record") +@ApiModel(value = "AlarmRecord对象", description = "告警记录表") +public class AlarmRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台设备ID") + @TableField("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("报警编号,后台生成") + @TableField("ALARM_CODE") + private String alarmCode; + + @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @TableField("ALARM_TYPE") + private String alarmType; + + @ApiModelProperty("巡检任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("报警内容") + @TableField("ALARM_CONTENT") + private String alarmContent; + + @ApiModelProperty("报警数值") + @TableField("ALARM_VALUE") + private Double alarmValue; + + @ApiModelProperty("报警阈值") + @TableField("ALARM_THRESH") + private Double alarmThresh; + + @ApiModelProperty("报警视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("报警图片路径") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("报警时间") + @TableField("ALARM_TIME") + private LocalDateTime alarmTime; + + @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @TableField("ALARM_STATUS") + private String alarmStatus; + + @ApiModelProperty("报警经度") + @TableField("ALARM_LONGITUDE") + private String alarmLongitude; + + @ApiModelProperty("报警纬度") + @TableField("ALARM_LATITUDE") + private String alarmLatitude; + + @ApiModelProperty("处置时间") + @TableField("CANCEL_TIME") + private LocalDateTime cancelTime; + + @ApiModelProperty("处置人") + @TableField("CANCEL_USER") + private Long cancelUser; + + @ApiModelProperty("处置结果") + @TableField("CANCEL_RESULT") + private String cancelResult; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java new file mode 100644 index 0000000..77b84a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRule.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 规则设置 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("alarm_rule") +@ApiModel(value = "AlarmRule对象", description = "规则设置") +public class AlarmRule implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("云台ID") + @TableId("DEVICE_ID") + private Long deviceId; + + @ApiModelProperty("浓度阈值") + @TableField("HIGH") + private Double high; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java new file mode 100644 index 0000000..3d3b34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisCoupling.java @@ -0,0 +1,95 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 耦合关联分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_coupling") +@ApiModel(value = "AnalysisCoupling对象", description = "耦合关联分析") +public class AnalysisCoupling implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("COUPLING_CODE") + private String couplingCode; + + @ApiModelProperty("风险耦合分析时间") + @TableField("COUPLING_TIME") + private LocalDateTime couplingTime; + + @ApiModelProperty("风险耦合分析结果") + @TableField("COUPLING_RESULT") + private String couplingResult; + + @ApiModelProperty("第三方施工风险等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("影响因子 ") + @TableField("RECOGNITION_VALUE") + private String recognitionValue; + + @ApiModelProperty("管线疑似占压风险等级 ") + @TableField("OVERSTOCK_LEVE") + private String overstockLeve; + + @ApiModelProperty("影响因子 ") + @TableField("OVERSTOCK_VALUE") + private String overstockValue; + + @ApiModelProperty("道路地下空洞风险等级 ") + @TableField("HOLE_LEVE") + private String holeLeve; + + @ApiModelProperty("影响因子") + @TableField("HOLE_VALUE") + private String holeValue; + + @ApiModelProperty("燃气泄漏风险等级 ") + @TableField("GAS_LEVEL") + private String gasLevel; + + @ApiModelProperty("影响因子") + @TableField("GAS_VALUE") + private String gasValue; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("风险详细位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java new file mode 100644 index 0000000..fa04510 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AnalysisRecognition.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 第三方施工智能识别分析 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("analysis_recognition") +@ApiModel(value = "AnalysisRecognition对象", description = "第三方施工智能识别分析") +public class AnalysisRecognition implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("RECOGNITION_CODE") + private String recognitionCode; + + @ApiModelProperty("识别时间") + @TableField("RECOGNITION_TIME") + private String recognitionTime; + + @ApiModelProperty("识别类型字典值") + @TableField("RECOGNITION_TYPE") + private String recognitionType; + + @ApiModelProperty("识别等级") + @TableField("RECOGNITION_LEVEL") + private String recognitionLevel; + + @ApiModelProperty("识别准确度") + @TableField("RECOGNITION_PRECISION") + private String recognitionPrecision; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty("识别视频路径") + @TableField("ALARM_VIDEO") + private String alarmVideo; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("识别位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("识别报警图片") + @TableField("ALARM_PICTURE") + private String alarmPicture; + + @ApiModelProperty("时间") + @TableField("TS") + private String ts; + + public AnalysisRecognition() { + } + + public AnalysisRecognition(RecognitionRequest recognitionRequest) { + this.recognitionCode = DateUtil.formatDateTime(new Date()); + this.recognitionTime = recognitionRequest.getRecognizeTime(); + this.recognitionType = recognitionRequest.getRecognizeType(); + this.recognitionLevel = recognitionRequest.getRecognizeRiskLevel(); + this.recognitionPrecision = recognitionRequest.getRecognizeAccuracy(); + //this.taskId = taskId; + this.alarmVideo = recognitionRequest.getRecognizeVideo(); + this.latitude = recognitionRequest.getRecognizePostion(); + this.longitude = recognitionRequest.getRecognizePostion(); + this.position = recognitionRequest.getRecognizePostion(); + this.alarmPicture = recognitionRequest.getRecognizePhoto(); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java new file mode 100644 index 0000000..bf65056 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusDeviceInfo.java @@ -0,0 +1,107 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 云台信息 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_device_info") +@ApiModel(value = "BusDeviceInfo对象", description = "云台信息") +public class BusDeviceInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("云台名称") + @TableField("DEVICE_NAME") + private String deviceName; + + @ApiModelProperty("所属巡检车辆") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("型号") + @TableField("DEVICE_MODEL") + private String deviceModel; + + @ApiModelProperty("设备编号") + @TableField("DEVICE_CODE") + private String deviceCode; + + @ApiModelProperty("设备IP") + @TableField("DEVICE_IP") + private String deviceIp; + + @ApiModelProperty("设备端口号") + @TableField("DEVICE_PORT") + private String devicePort; + + @ApiModelProperty("设备登录用户") + @TableField("DEVICE_USER") + private String deviceUser; + + @ApiModelProperty("设备登录密码") + @TableField("DEVICE_PASSWORD") + private String devicePassword; + + @ApiModelProperty("NVR IP") + @TableField("NVR_IP") + private String nvrIp; + + @ApiModelProperty("NVR端口") + @TableField("NVR_PORT") + private String nvrPort; + + @ApiModelProperty("NVR通道") + @TableField("NVR_CHANNEL") + private String nvrChannel; + + @ApiModelProperty("NVR账户") + @TableField("NVR_USER") + private String nvrUser; + + @ApiModelProperty("NVR密码") + @TableField("NVR_PASSWORD") + private String nvrPassword; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("0:离线,1在线,报警") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("是否有效(0:有效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("设备安装时间") + @TableField("SETUP_DATE") + private LocalDateTime setupDate; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java new file mode 100644 index 0000000..67a26df --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusHole.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 地下空洞基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_hole") +@ApiModel(value = "BusHole对象", description = "地下空洞基本信息表") +public class BusHole implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("HOLE_CODE") + private String holeCode; + + @ApiModelProperty("异常波形") + @TableField("ABNORMOL_WAVE") + private String abnormolWave; + + @ApiModelProperty("探测距离") + @TableField("DETECTION_DISTANCE") + private String detectionDistance; + + @ApiModelProperty("空洞大小") + @TableField("HOLE_SIZE") + private String holeSize; + + @ApiModelProperty("空洞类型") + @TableField("HOLE_TYPE") + private String holeType; + + @ApiModelProperty("图片") + @TableField("HOLE_PICTURE") + private String holePicture; + + @ApiModelProperty("探测时间") + @TableField("DETECTION_TIME") + private String detectionTime; + + @ApiModelProperty("分线等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("空洞位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否处理(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java new file mode 100644 index 0000000..6fb1853 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -0,0 +1,71 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 巡检车辆基本信息表 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Getter +@Setter +@TableName("bus_patrol_car") +@ApiModel(value = "BusPatrolCar对象", description = "巡检车辆基本信息表") +public class BusPatrolCar implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车名称") + @TableField("CAR_NAME") + private String carName; + + @ApiModelProperty("车牌号") + @TableField("CAR_PLATE") + private String carPlate; + + @ApiModelProperty("备注") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("所属机构") + @TableField("DEPT_ID") + private Long deptId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("1:在线,0:离线") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("是否有效(0:有效,1:无效)") + @TableField("VALID") + private String valid; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java new file mode 100644 index 0000000..8251b42 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java @@ -0,0 +1,87 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检任务表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Data +@TableName("bus_patrol_task") +@ApiModel(value = "BusPatrolTask对象", description = "巡检任务表") +public class BusPatrolTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("巡检车辆ID") + @TableField("CAR_ID") + private Long carId; + + @ApiModelProperty("任务名称") + @TableField("TASK_NAME") + private String taskName; + + @ApiModelProperty("任务编号,后台生成") + @TableField("TASK_CODE") + private String taskCode; + + @ApiModelProperty("开始时间") + @TableField("BEGIN_DATE") + private String beginDate; + + @ApiModelProperty("结束时间") + @TableField("END_DATE") + private String endDate; + + @ApiModelProperty("描述") + @TableField("DESCRIPTION") + private String description; + + @ApiModelProperty("扩展字段1") + @TableField("DESCRIPTION1") + private String description1; + + @ApiModelProperty("扩展字段2") + @TableField("DESCRIPTION2") + private String description2; + + @ApiModelProperty("公里数") + @TableField("KM") + private String km; + + @ApiModelProperty("任务状态(1:启用,0:停用)") + @TableField("`STATUS`") + private String status; + + @ApiModelProperty("修改时间") + @TableField("UPDATE_TIME") + private String updateTime; + + @ApiModelProperty("0:有效,1:删除") + @TableField("VALID") + private String valid; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java new file mode 100644 index 0000000..e22e569 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java @@ -0,0 +1,78 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 巡检轨迹表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_patrol_track") +@ApiModel(value = "BusPatrolTrack对象", description = "巡检轨迹表") +public class BusPatrolTrack implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("任务id") + @TableField("TASK_ID") + private Long taskId; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("纬度") + @TableField("LAGITUDE") + private String lagitude; + + @ApiModelProperty("气体浓度值") + @TableField("GAS") + private String gas; + + @ApiModelProperty("水平值") + @TableField("DIRECTION") + private String direction; + + @ApiModelProperty("垂直值") + @TableField("PITCH") + private String pitch; + + @ApiModelProperty("轨迹位置描述") + @TableField("POSITION") + private String position; + + @ApiModelProperty("车速") + @TableField("SPEED") + private String speed; + + @ApiModelProperty("1:报警,0:正常") + @TableField("IS_ALARM") + private String isAlarm; + + @ApiModelProperty("1:正常:0") + @TableField("DEVICE_STATUS") + private String deviceStatus; + + @ApiModelProperty("创建时间") + @TableField("TS") + private String ts; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java new file mode 100644 index 0000000..85c11f0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -0,0 +1,91 @@ +package com.casic.missiles.modular.system.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 管线占压基本信息表 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Getter +@Setter +@TableName("bus_pipe_overstock") +@ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") +public class BusPipeOverstock implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId("ID") + private Long id; + + @ApiModelProperty("编号") + @TableField("STOCK_CODE") + private String stockCode; + + @ApiModelProperty("管线类型") + @TableField("PIPE_TYPE") + private String pipeType; + + @ApiModelProperty("占压类型") + @TableField("STOCK_TYPE") + private String stockType; + + @ApiModelProperty("占压分类") + @TableField("STOCK_CLASSIFY") + private String stockClassify; + + @ApiModelProperty("占压等级") + @TableField("STOCK_LEVEL") + private String stockLevel; + + @ApiModelProperty("图片") + @TableField("STOCK_PICTURE") + private String stockPicture; + + @ApiModelProperty("占压时间") + @TableField("STOCK_TIME") + private String stockTime; + + @ApiModelProperty("风险等级") + @TableField("RISK_LEVEL") + private String riskLevel; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private String latitude; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private String longitude; + + @ApiModelProperty("占压位置") + @TableField("POSITION") + private String position; + + @ApiModelProperty("是否指令(0:无,1:是)") + @TableField("IS_HANDLE") + private String isHandle; + + @ApiModelProperty("治理规则") + @TableField("HANDLE_RULE") + private String handleRule; + + @ApiModelProperty("时间") + @TableField("TS") + private LocalDateTime ts; + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java new file mode 100644 index 0000000..1b1d831 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.enums; + +import com.casic.missiles.model.exception.AbstractBaseExceptionEnum; + +/** + * @Description: + */ +public enum BusinessExceptionEnum implements AbstractBaseExceptionEnum { + + ID_NULL(2400, "主键不能为空"), + + HANDLE_FAILED(500, "操作失败"), + + CODE_NULL(501, "字典code不能为空"), + + SAVE_FAILED(400, "保存失败"), + + TEST_URL_NULL(2090, "测试地址为空!"), + + PARAM_IS_NULL(2080, "参数有误!"), + + FILE_NULL(2091, "导入文件为空!"), + + FILE_READ_ROW_FAILED(2092, "读入excel异常!"), + + MONITOR_VALID_FAILED(2099, "云台登录地址重复"); + + + private Integer code; + private String message; + + BusinessExceptionEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + @Override + public Integer getCode() { + return this.code; + } + + public void setCode(Integer code) { + this.code = code; + } + + @Override + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java new file mode 100644 index 0000000..635118a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.modular.system.enums; + +/** + * @Description: 字典名枚举 + * @Author: zt + * @Date: 2023/4/20 10:41 + */ +public interface DictEnum { + //测试通过 + String TEST_PASSED = "通过"; + //测试不通过 + String TEST_FAILED = "不通过"; + //测试状态 + String TEST_STATUS = "1"; + //发布平台 + String PLATE = "plate"; + //一级标签 + String FIRST_TAG = "tags"; + //下发 + String PROCESS_SEND = "4"; + + //投票支持 + String VOTE_APPROVE = "1"; + //投票反对 + String VOTE_AGAINST = "0"; + + String ALARM_PREFIX = "XJBJ"; + String TASK_PREFIX = "XJRW"; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java new file mode 100644 index 0000000..c6ed867 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/UserEvent.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.event; + +import com.casic.missiles.model.application.event.core.ModelEvent; +import com.casic.missiles.model.application.event.type.AbstractEventTypeEnum; +import com.casic.missiles.modular.system.model.User; + +/** + * 用户事件 + * + * @author lwh + */ +public class UserEvent extends ModelEvent { + /** + * Create a new {@code ApplicationEvent}. + * + * @param type 事件类型 + * @param source the object on which the event initially occurred or with + * which the event is associated (never {@code null}) + */ + public UserEvent(AbstractEventTypeEnum type, User source) { + super(type, source); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java new file mode 100644 index 0000000..4480ef2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserOneListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.core.application.event.UserLoginEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserOneListener { + @EventListener + public void onApplicationEvent(UserLoginEvent event) { + log.debug("用户1订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java new file mode 100644 index 0000000..8447a22 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/event/listener/UserTwoListener.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.event.listener; + +import com.casic.missiles.model.application.event.core.EventSubscriber; +import com.casic.missiles.modular.system.event.UserEvent; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 用户事件订阅 + * + * @author lwh + */ +@Slf4j +@Component +public class UserTwoListener extends EventSubscriber { + @Override + public void onApplicationEvent(UserEvent event) { + log.debug("用户2订阅:{}", event); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java new file mode 100644 index 0000000..d3408e0 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/exception/BusinessException.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.system.exception; + +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @Description: 业务异常 + */ +public class BusinessException extends RuntimeException { + private static final long serialVersionUID = 1L; + + @Getter + @Setter + private Integer code; + @Getter + @Setter + private String message; + + public BusinessException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public BusinessException(BusinessExceptionEnum exceptionEnum) { + super(exceptionEnum.getMessage()); + this.code = exceptionEnum.getCode(); + this.message = exceptionEnum.getMessage(); + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..dc2f09b --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/GlobalExceptionHandler.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.exception.BusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + + +@Slf4j +@Order(1) +@ControllerAdvice +public class GlobalExceptionHandler { + + /** + * 业务异常捕获处理 + */ + @ResponseBody + @ExceptionHandler({BusinessException.class}) + public Object handleError(BusinessException exception) { + return ResponseData.error(exception.getCode(), exception.getMessage()); + } + +// /** +// * 编号重复异常捕获处理 +// */ +// @ResponseBody +// @ExceptionHandler({DuplicateKeyException.class}) +// public Object handleDuplicateKeyException() { +// return ReturnUtil.failed(BusinessExceptionEnum.DUPLICATE_NUMBER.getCode(), BusinessExceptionEnum.DUPLICATE_NUMBER.getMessage()); +// } +// +// /** +// * 参数校验失败异常 +// */ +// @ResponseBody +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { +// return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); +// } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java new file mode 100644 index 0000000..fa26d05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; + +/** + *

+ * 告警记录表 服务类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +public interface IAlarmRecordService extends IService { + + boolean saveAlarm(AlarmRecord alarmRecord); + + Page listPage(Page page, AlarmRecordRequest request); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java new file mode 100644 index 0000000..12486f5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AlarmRule; + +/** + *

+ * 规则设置 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAlarmRuleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java new file mode 100644 index 0000000..ddbb965 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisCouplingService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; + +/** + *

+ * 耦合关联分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisCouplingService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java new file mode 100644 index 0000000..ca55b07 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAnalysisRecognitionService.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; + +/** + *

+ * 第三方施工智能识别分析 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IAnalysisRecognitionService extends IService { + + boolean saveRecognition(RecognitionRequest recognitionRequest); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java new file mode 100644 index 0000000..fdc1616 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceInfoService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; + +/** + *

+ * 云台信息 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusDeviceInfoService extends IService { + boolean saveDevice(BusDeviceInfo busDeviceInfo); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java new file mode 100644 index 0000000..df089ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusHoleService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusHole; + +/** + *

+ * 地下空洞基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusHoleService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java new file mode 100644 index 0000000..1a2b8cb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolCarService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 巡检车辆基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +public interface IBusPatrolCarService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java new file mode 100644 index 0000000..8a5a34d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; + +/** + *

+ * 巡检任务表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTaskService extends IService { + + Page listPage(Page page, PatrolTaskRequest request); + + boolean saveTask(BusPatrolTask busPatrolTask); +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java new file mode 100644 index 0000000..4a69d0e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; + +/** + *

+ * 巡检轨迹表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPatrolTrackService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java new file mode 100644 index 0000000..061b95a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; + +/** + *

+ * 管线占压基本信息表 服务类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +public interface IBusPipeOverstockService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java new file mode 100644 index 0000000..1061d55 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRecordMapper; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.entity.AlarmRecord; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IAlarmRecordService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 告警记录表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-19 + */ +@Service +public class AlarmRecordServiceImpl extends ServiceImpl implements IAlarmRecordService { + + + @Override + public boolean saveAlarm(AlarmRecord alarmRecord) { + initAlarm(alarmRecord); + return this.save(alarmRecord); + } + + private void initAlarm(AlarmRecord alarmRecord){ + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + alarmRecord.setAlarmCode( NumberGeneratorUtil.getContactNo(DictEnum.ALARM_PREFIX, maxNo)); + } + + @Override + public Page listPage(Page page, AlarmRecordRequest request) { + + Page alarmRecordPage = this.baseMapper.listPage(page, request); + + return alarmRecordPage; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..d5388fb --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmRuleMapper; +import com.casic.missiles.modular.system.entity.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 规则设置 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java new file mode 100644 index 0000000..94232ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisCouplingServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisCouplingMapper; +import com.casic.missiles.modular.system.entity.AnalysisCoupling; +import com.casic.missiles.modular.system.service.IAnalysisCouplingService; +import org.springframework.stereotype.Service; + +/** + *

+ * 耦合关联分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisCouplingServiceImpl extends ServiceImpl implements IAnalysisCouplingService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java new file mode 100644 index 0000000..3d7c4ca --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AnalysisRecognitionServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AnalysisRecognitionMapper; +import com.casic.missiles.modular.system.dto.RecognitionRequest; +import com.casic.missiles.modular.system.entity.AnalysisRecognition; +import com.casic.missiles.modular.system.service.IAnalysisRecognitionService; +import org.springframework.stereotype.Service; + +/** + *

+ * 第三方施工智能识别分析 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class AnalysisRecognitionServiceImpl extends ServiceImpl implements IAnalysisRecognitionService { + + @Override + public boolean saveRecognition(RecognitionRequest recognitionRequest) { + return this.save(new AnalysisRecognition(recognitionRequest)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java new file mode 100644 index 0000000..b13a889 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusDeviceInfoMapper; +import com.casic.missiles.modular.system.entity.BusDeviceInfo; +import com.casic.missiles.modular.system.service.IBusDeviceInfoService; +import org.springframework.stereotype.Service; + +/** + *

+ * 云台信息 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusDeviceInfoServiceImpl extends ServiceImpl implements IBusDeviceInfoService { + + + @Override + public boolean saveDevice(BusDeviceInfo busDeviceInfo) { + return this.save(busDeviceInfo); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java new file mode 100644 index 0000000..98129bc --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusHoleServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusHoleMapper; +import com.casic.missiles.modular.system.entity.BusHole; +import com.casic.missiles.modular.system.service.IBusHoleService; +import org.springframework.stereotype.Service; + +/** + *

+ * 地下空洞基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusHoleServiceImpl extends ServiceImpl implements IBusHoleService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java new file mode 100644 index 0000000..a30726f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolCarServiceImpl.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.dao.BusPatrolCarMapper; +import com.casic.missiles.modular.system.entity.BusPatrolCar; + +import com.casic.missiles.modular.system.service.IBusPatrolCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检车辆基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-11 + */ +@Service +public class BusPatrolCarServiceImpl extends ServiceImpl implements IBusPatrolCarService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java new file mode 100644 index 0000000..efb3168 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检任务表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { + + @Override + public Page listPage(Page page, PatrolTaskRequest request) { + + Page busPatrolTaskPage = this.baseMapper.listPage(page, request); + + return busPatrolTaskPage; + } + + @Override + public boolean saveTask(BusPatrolTask busPatrolTask) { + initTask(busPatrolTask); + return this.save(busPatrolTask); + } + + + private void initTask(BusPatrolTask busPatrolTask) { + //生成报警编号 + Long maxNo = this.baseMapper.selectMaxCode(); + busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java new file mode 100644 index 0000000..9b55e10 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; +import org.springframework.stereotype.Service; + +/** + *

+ * 巡检轨迹表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPatrolTrackServiceImpl extends ServiceImpl implements IBusPatrolTrackService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java new file mode 100644 index 0000000..a646bf4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.BusPipeOverstockMapper; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import org.springframework.stereotype.Service; + +/** + *

+ * 管线占压基本信息表 服务实现类 + *

+ * + * @author zt + * @since 2023-07-20 + */ +@Service +public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java new file mode 100644 index 0000000..3343184 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -0,0 +1,81 @@ +package com.casic.missiles.modular.system.util; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +public class FileUtil { + public static File createFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + file.getParentFile().mkdirs(); + file.createNewFile(); + } + return file; + } + + + public static void downloadLocalFile(HttpServletResponse response,String path, String fileName) throws IOException { + File file = new File(path); + // 设置以流的形式下载文件,这样可以实现任意格式的文件下载 + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""); + response.setContentLength((int) file.length()); + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int readTmp = 0; + while ((readTmp = fis.read(buffer)) != -1) { + response.getOutputStream().write(buffer, 0, readTmp); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + response.getOutputStream().flush(); + response.getOutputStream().close(); + fis.close(); + } + } + + public static String getOriginalFilename(String fileName ){ + //判断是否为IE浏览器的文件名,IE浏览器下文件名会带有盘符信息 + // Check for Unix-style path + int unixSep = fileName.lastIndexOf("/"); + // Check for Windows-style path + int winSep = fileName.lastIndexOf("\\"); + // Cut off at latest possible point + int pos = (winSep > unixSep ? winSep : unixSep); + if (pos != -1) { + // Any sort of path separator found... + fileName = fileName.substring(pos + 1); + } + + return fileName; + } + + public static String saveFile(MultipartFile file,String filePath) throws IOException { + if (!file.isEmpty()) { + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = (new SimpleDateFormat("yyyy-MM")).format(new Date()); + File dir = new File(filePath + fileName); + if (!dir.exists()) { + dir.mkdirs(); + } + + String pathName = dir.getPath() + File.separator + filePrex; + file.transferTo(new File(pathName)); + return fileName.concat(File.separator).concat(filePrex); + } else { + return null; + } + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java new file mode 100644 index 0000000..2c8c6d2 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/NumberGeneratorUtil.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Description: 编号生成工具 + * @Date: 2023/7/26 15:31 + */ +public class NumberGeneratorUtil { + + /** + * 支持每天最多生成9999个序号 + * + * @param prefix + * @param nowNum + * @return + */ + public static synchronized String getContactNo(String prefix, long nowNum) { + StringBuilder builder = new StringBuilder(); + StringBuilder num = new StringBuilder(); + AtomicLong count = new AtomicLong(nowNum); + + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String datePrefix = format.format(new Date()); + + if(nowNum == 0){ + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + }else{ + String s = String.valueOf(nowNum); + String substring = s.substring(0, s.length() - 4); + //不是当前日期,从0计算后4位 + if (Long.valueOf(datePrefix) > Long.valueOf(substring)) { + count = new AtomicLong(0); + num.append(datePrefix).append("000").append(count.incrementAndGet()); + } else { + num.append(count.incrementAndGet()); + } + } + + // 组合 + builder.append(prefix); + builder.append(num); + return builder.toString(); + } + + + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java new file mode 100644 index 0000000..1e8c12a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/ReturnUtil.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.system.util; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:56 + */ +public class ReturnUtil { + public ReturnUtil() { + } + + public static ReturnDTO success() { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE); + } + + public static ReturnDTO success(Object data) { + return new ReturnDTO(ResponseData.DEFAULT_SUCCESS_CODE, ResponseData.DEFAULT_SUCCESS_MESSAGE, data); + } + + public static ReturnDTO success(Integer code, String message) { + return new ReturnDTO(code, message); + } + + public static ReturnDTO failed() { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, ResponseData.DEFAULT_ERROR_MESSAGE); + } + + public static ReturnDTO failed(String message) { + return new ReturnDTO(ResponseData.DEFAULT_ERROR_CODE, message); + } + + public static ReturnDTO failed(Integer code, String message) { + return new ReturnDTO(code, message); + } + +} diff --git a/casic-web/pom.xml b/casic-web/pom.xml new file mode 100644 index 0000000..4927a20 --- /dev/null +++ b/casic-web/pom.xml @@ -0,0 +1,190 @@ + + + 4.0.0 + + com.casic + casic-ktd + ../pom.xml + 2.0.0 + + casic-web + 2.0.0 + jar + casic-web + casic web启动入口 + + + + dev + + true + + + dev + + + + test + + test + + + + prod + + prod + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.micrometer + micrometer-core + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.casic + casic-core + ${core.version} + + + cn.hutool + hutool-core + + + cn.hutool + hutool-crypto + + + + + com.casic + casic-admin-core + ${admin.version} + + + io.springfox + springfox-swagger-ui + + + io.swagger + swagger-models + + + + + com.casic + casic-knife4j-boot-starter + ${extension.version} + + + com.casic + casic-admin-support + ${admin.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + com.dameng + DmJdbcDriver18 + 1.8 + + + com.casic + casic-area-starter + ${admin.version} + + + + com.casic + casic-server + ${pro.version} + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven.jar.plugin.version} + + + + /config/*-*.yml + **/MockController.class + + + + com.casic.missiles.CasicApplication + true + ./ + + + + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven.assembly.plugin.version} + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven.war.plugin.version} + + + + + src/main/resources + + + /config/*/* + /config/*-*.yml + + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml new file mode 100644 index 0000000..c9259ad --- /dev/null +++ b/casic-web/src/main/build/package.xml @@ -0,0 +1,43 @@ + + + package + + zip + tar.gz + + true + + + + true + true + lib + runtime + + + + + src/main/build/bin + + start.bat + start.sh + + true + 0744 + / + + + src/main/resources/config + true + + *.yml + /*/* + + /config + + + src/main/resources/i18n + / + + + \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java new file mode 100644 index 0000000..739eb99 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -0,0 +1,28 @@ +package com.casic.missiles; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * SpringBoot方式启动类 + * + * @author lwh + * @Date 2021/06/06 12:06 + */ +@SpringBootApplication +@EnableCaching +@EnableTransactionManagement(proxyTargetClass = true) +@EnableAsync +@Slf4j +public class CasicApplication { + public static void main(String[] args) { + SpringApplication.run(CasicApplication.class, args); + log.info("CasicApplication is success!"); + } + +} diff --git a/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java new file mode 100644 index 0000000..e30585b --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/CasicServletInitializer.java @@ -0,0 +1,18 @@ +package com.casic.missiles; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +/** + * Guns Web程序启动类 + * + * @author fengshuonan + * @date 2017-05-21 9:43 + */ +public class CasicServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(CasicApplication.class); + } +} diff --git a/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java new file mode 100644 index 0000000..4f4ec87 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/config/WebMvcConfig.java @@ -0,0 +1,143 @@ +package com.casic.missiles.config; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.serializer.SerializeConfig; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.serializer.ToStringSerializer; +import com.alibaba.fastjson.serializer.ValueFilter; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import com.casic.missiles.config.properties.CasicProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.LocaleResolver; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; +import org.springframework.web.servlet.i18n.CookieLocaleResolver; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; + + +@ServletComponentScan(basePackageClasses = {DefaultFastjsonConfig.class}) +@ConditionalOnClass(com.alibaba.fastjson.JSON.class) +@ConditionalOnMissingBean(FastJsonHttpMessageConverter.class) +@Configuration +class WebMvcConfig extends WebMvcConfigurationSupport { + @Value("${spring.messages.locale:SIMPLIFIED_CHINESE}") + private String locale; + + public WebMvcConfig() { + } + + @Autowired + private CasicProperties casicProperties; + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + //Spring Boot自动配置自己不会自动把/swagger-ui.html这个路径映射到对应的目录META-INF/resources/下面 + registry.addResourceHandler("swagger-ui.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations( + "classpath:/META-INF/resources/webjars/"); + registry.addResourceHandler("doc.html").addResourceLocations( + "classpath:/META-INF/resources/"); + registry.addResourceHandler("/favicon.ico").addResourceLocations( + "classpath:/META-INF/resources/"); + if (StrUtil.isNotEmpty(casicProperties.getFile().getUploadPath())) { + registry.addResourceHandler("/static/**").addResourceLocations("file:" + casicProperties.getFile().getUploadPath()); + } + super.addResourceHandlers(registry); + } + + @Override + public LocaleResolver localeResolver() { + CookieLocaleResolver slr = new CookieLocaleResolver(); + //设置默认区域,Locale.SIMPLIFIED_CHINESE + switch (locale) { + case "US": + slr.setDefaultLocale(Locale.US); + break; + default: + slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE); + } + //设置cookie有效期. + slr.setCookieMaxAge(3600); + return slr; + } + + @Override + public void configureMessageConverters(List> converters) { + Iterator> iterator = converters.iterator(); + //先把JackSon的消息转换器删除. 在SpringBoot2.X时代,必须要排除JackSon消息转换器。 + while (iterator.hasNext()) { + HttpMessageConverter converter = iterator.next(); + if (converter instanceof MappingJackson2HttpMessageConverter) { + iterator.remove(); + } + } + FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); + converter.setFastJsonConfig(fastjsonConfig()); + converter.setSupportedMediaTypes(getSupportedMediaType()); + converters.add(converter); + } + + /** + * fastjson的配置 + */ + public FastJsonConfig fastjsonConfig() { + FastJsonConfig fastJsonConfig = new FastJsonConfig(); + fastJsonConfig.setSerializerFeatures( + SerializerFeature.PrettyFormat, + SerializerFeature.WriteMapNullValue, + SerializerFeature.WriteEnumUsingToString + ); + //修改,设置全局时间为精确到天,页面列表显示不带时分秒 + fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); +// fastJsonConfig.setDateFormat("yyyy-MM-dd"); + ValueFilter valueFilter = new ValueFilter() { + @Override + public Object process(Object o, String s, Object o1) { + if (null == o1) { + o1 = ""; + } + return o1; + } + }; + fastJsonConfig.setCharset(Charset.forName("utf-8")); + fastJsonConfig.setSerializeFilters(valueFilter); + + //解决Long转json精度丢失的问题 + SerializeConfig serializeConfig = SerializeConfig.globalInstance; + serializeConfig.put(BigInteger.class, ToStringSerializer.instance); + serializeConfig.put(Long.class, ToStringSerializer.instance); + serializeConfig.put(BigDecimal.class, ToStringSerializer.instance); +// serializeConfig.put(Long.TYPE, ToStringSerializer.instance); + fastJsonConfig.setSerializeConfig(serializeConfig); + return fastJsonConfig; + } + + /** + * 支持的mediaType类型 + */ + public List getSupportedMediaType() { + ArrayList mediaTypes = new ArrayList<>(); + mediaTypes.add(MediaType.APPLICATION_JSON_UTF8); + + return mediaTypes; + } + +} + diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java new file mode 100644 index 0000000..eae6c54 --- /dev/null +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -0,0 +1,82 @@ +package com.casic.missiles.controller; + +import cn.hutool.core.util.StrUtil; +import com.casic.missiles.core.application.enums.LoginType; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.model.auth.CasicCustomToken; +import com.casic.missiles.core.shiro.ShiroKit; +import com.casic.missiles.core.util.RSAUtils; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.domain.constants.PermissionConstants; +import com.casic.missiles.modular.interfaces.log.LogManager; +import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; +import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.subject.Subject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.security.NoSuchAlgorithmException; +import java.util.Map; + +import static com.casic.missiles.core.util.HttpContext.getIp; + + +/** + * 仅为mock登录使用 + * + * @author lenovo + */ +@Controller +@RequestMapping("/route") +@Slf4j +public class MockController extends BaseController { + + /** + * 获取mockToken + */ + @GetMapping("/mockToken") + @ResponseBody + public Object mockToken(String username, String password) { + super.getSession().setAttribute(PermissionConstants.IS_APP, false); + SuccessResponseData resultData = new SuccessResponseData(); + if (StrUtil.hasEmpty(username, password)) { + username = "admin"; + password = "111111"; + } + Subject currentUser = ShiroKit.getSubject(); + + try { + Map key = RSAUtils.genKeyPair(); + ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey)); + + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + + //token自定义 + CasicCustomToken token = new CasicCustomToken(username, password); + token.setType(LoginType.PASSWORD); + token.setRememberMe(false); + + try { + currentUser.login(token); + } catch (Exception e) { + e.printStackTrace(); + } + AuthUser shiroUser = ShiroKit.getUser(); + super.getSession().setAttribute("shiroUser", shiroUser); + super.getSession().setAttribute("username", shiroUser.getAccount()); + super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId()); + + LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp())); + + ShiroKit.getSession().setAttribute("sessionFlag", true); + resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null)); + resultData.setMessage("登录成功"); + return resultData; + } +} diff --git a/casic-web/src/main/resources/META-INF/spring-devtools.properties b/casic-web/src/main/resources/META-INF/spring-devtools.properties new file mode 100644 index 0000000..e3b0a7f --- /dev/null +++ b/casic-web/src/main/resources/META-INF/spring-devtools.properties @@ -0,0 +1 @@ +restart.include.beetl=/beetl-2.7.15.jar \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml new file mode 100644 index 0000000..628fd13 --- /dev/null +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -0,0 +1,30 @@ +server: + port: 8083 +################### spring配置 ################### +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://111.198.10.15:11336/casic_space_air_ground?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true&nullCatalogMeansCurrent=true + username: root + password: Casic203 +jms: + pub-sub-domain: true +# session: +# store-type: redis +# redis: +# host: 111.198.10.15 +# port: 11412 +# password: ew5T4K3#203lwh +# serializer: org.springframework.data.redis.serializer.StringRedisSerializer +# redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer +casic: + #kaptcha-open: false #是否开启登录时验证码 (true/false) + no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/v2/api-docs,/v2/api-docs-ext,/doc.html,/v2/api-docs/swagger-ui.html,/swagger-resources,/code/generator,/webjars/**,/alarm/getrecognitionRecords,/alarm/savePictures + #flowable数据源和多数据源配置 + db: + init: + enable: false +logging: + level.root: info + level.com.casic: debug + level.org.springframework.web: info \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml new file mode 100644 index 0000000..6553b10 --- /dev/null +++ b/casic-web/src/main/resources/config/application-prod.yml @@ -0,0 +1,34 @@ +server: + port: 8085 +# context-path: /callcenter/api +################### spring配置 ################### +spring: + datasource: + url: jdbc:mysql://10.18.0.20:3306/casic_smartcity_callcenter?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203 + initial-size: 2 + min-idle: 1 + jms: + pub-sub-domain: true + # session: + # store-type: redis + redis: + host: 127.0.0.1 + port: 6379 + password: + +#flowable数据源和多数据源配置 +casic: + kaptcha-open: false #是否开启登录时验证码 (true/false) + nologin-urls: /user/login,/user/appLogin,/kaptcha,/config/baseConfig,/route/mockToken + flowable: + datasource: + url: jdbc:mysql://10.18.0.20:3306/callcenter_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203 +logging: + level.root: info + level.com.casic: debug + path: logs/ + file: missiles.log \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application-test.yml b/casic-web/src/main/resources/config/application-test.yml new file mode 100644 index 0000000..54d7252 --- /dev/null +++ b/casic-web/src/main/resources/config/application-test.yml @@ -0,0 +1,30 @@ +server: + port: 11307 +################### spring配置 ################### +spring: + datasource: + url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203! + initial-size: 2 + min-idle: 1 + jms: + pub-sub-domain: true +# session: +# store-type: redis +casic: + # kaptcha-open: false #是否开启登录时验证码 (true/false) + nologin-urls: /user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/** + #flowable数据源和多数据源配置 + flowable: + datasource: + url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + username: root + password: Casic203! +flowable: + checkProcessDefinitions: false #不校验process文件 +logging: + level.root: info + level.com.casic: debug + path: logs/ + file: missiles.log \ No newline at end of file diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml new file mode 100644 index 0000000..49db88a --- /dev/null +++ b/casic-web/src/main/resources/config/application.yml @@ -0,0 +1,29 @@ +########################################################## +################## 所有profile共有的配置 ################# +########################################################## +spring: + profiles: + active: @activatedProperties@ + servlet: + multipart: + max-file-size: 50MB + max-request-size: 80MB +mybatis-plus: + configuration: + # 配置结果集属性为空时 是否映射返回结果 +# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用 + map-underscore-to-camel-case: true +################### mybatis-plus配置 ################### +################### guns配置 ################### +casic: + swagger-open: true #是否开启swagger (true/false) + kaptcha-open: false #是否开启登录时验证码 (true/false) + muti-datasource-open: false #是否开启多数据源(true/false) + spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false) + session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒 + session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒 + no-login-urls: /user/login,/kaptcha,/config/baseConfig + + config: + export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\ + config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\ \ No newline at end of file diff --git a/casic-web/src/main/resources/logback-spring.xml b/casic-web/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..c0c7ac9 --- /dev/null +++ b/casic-web/src/main/resources/logback-spring.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/missiles_error.log + + + + + + ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/missiles_total.log + + + + + + ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log + + + + 10MB + + + + + true + + + + ${FILE_LOG_PATTERN} + utf-8 + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..4d84dbb --- /dev/null +++ b/pom.xml @@ -0,0 +1,147 @@ + + 4.0.0 + com.casic + casic-ktd + 2.0.0 + casic-ktd + pom + + casic-web + casic-server + + + com.casic + casic-boot-starter-parent + 2.0.0.alpha + + + UTF-8 + UTF-8 + 1.8 + + 2.0.0 + + 2.0.0.alpha + + 2.0.0.alpha + + + 2.0.0.alpha + + 3.2.1 + 1.7 + 3.6 + 2.6.11 + 1.0.3 + 3.4.5 + + + + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + + + + com.casic + casic-core + ${core.version} + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus-boot-starter} + + + + com.alibaba + druid + ${druid.version} + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven.compiler.plugin.version} + + + + + + + + + + + cn.smallbun.screw + screw-maven-plugin + ${screw.version} + + + + com.zaxxer + HikariCP + ${hikari.version} + + + + mysql + mysql-connector-java + ${mysql.driver.version} + + + + + root + + casic203! + + + com.mysql.jdbc.Driver + + jdbc:mysql://localhost:3306/casic_template?useSSL=false + + WORD + + true + + freemarker + + + 基础权限库 + + ${pro.version} + + 基础库文档速查 + + + + compile + + run + + + + + + + + \ No newline at end of file