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;
+
+/**
+ *